C语言课程设计销售管理系统说明书Word格式.doc
《C语言课程设计销售管理系统说明书Word格式.doc》由会员分享,可在线阅读,更多相关《C语言课程设计销售管理系统说明书Word格式.doc(29页珍藏版)》请在冰点文库上搜索。
通过该题目的设计过程,可以培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,针对c语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
得到软件工程的综合训练,提高解决实际问题的能力。
关键字销售,管理,总结
正文
1问题描述
某公司有四个销售员(编号:
1-4),负责销售五种产品(编号:
1-5)。
每个销售员都将当天出售的每种产品各写一张便条交上来。
每张便条包含内容:
销售员的代号
、产品的代号、这种产品的当天的销售额
。
每位销售员每天可能上缴0-5张便条。
假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况,进行如下处理:
系统以菜单方式工作,录入信息用文件保存;
计算上个月每个人每种产品的销售额;
按销售额对销售员进行排序,输出排序结果(销售员代号);
统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额);
输出统计报表。
2系统总体设计
1:
整体结构流程图销售管理系统
职员信息查询
产品信息
销售情况
2、添加职员信息流程图
是
空链表
否
盛情存放一个结点内存空间
查找链表尾
表头=新声请空间地址
职员编号
职员人数
声请存放一个结点的内存空间将链表表尾指针新声请空间地址
图书数目自动加1
循环,使其能输入多种图书信息
通过调用查询函数输入职员信息
否
继续输入
是
表尾指针=NULL,返回表头指针,结束退出
申请存放一个节点内存
3删除职员信息流程图
是
显示无任何次信息
输入要删除职员信息的编号在链表中查找是
显示查无此人
查到与否
否
删除与否是
放弃
删除
4、添加产品信息流程图
产品编号
产品数码
循环,使其能输入多种产品信息
通过调用查询函数输入产品信息
5删除产品信息流程图
输入要删除产品信息的编号在链表中查找是
显示查无此产品
2:
系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续处理直到
用户选择退出系统为止。
其间应对用户的选择做出判断和异常处理。
3设计详细
#include<
stdio.h>
string.h>
conio.h>
stdlib.h>
#defineZ5
#defineR4/*定义宏常量便于程序的一般化*//*R表示销售员个数*/
typedefstruct/*缩短结构体变量名*/
{
intshangpin[Z];
/*定义结构体便于信息的存储和读写,辨别*//*R是表示商品的种类,最后一个为该销售员商品总和*/
}data;
voidmenu()
{printf("
*******************************************************\n"
);
printf("
0.结束操作\n"
1.计算上个月每个人每种产品的销售额\n"
2.按销售额对销售员进行排序,输出排序结果\n"
3.统计每种产品的总销售额,输出排序结果\n"
4.输出统计报表\n"
******************************************************\n"
}
voiddata_read(data*x)/*读入函数使程序简洁*/
FILE*fp;
charfname[10];
inti;
printf("
您想查询哪个月?
\n"
请输入月份:
"
/*输入文件名,这样可以进行各个月份信息读入*/
scanf("
%s"
fname);
strcat(fname,"
.txt"
/*连接文件属性*/
if((fp=fopen(fname,"
rb"
))==NULL)/*打开文件*/
{
printf("
cannotopenthefile\n"
exit(0);
}
for(i=0;
i<
R;
i++)/*读出信息*/
if(fread(x+i,sizeof(data),1,fp)!
=1)
读入信息出错!
voiddata_count(data*x)/*计算上个月每个人每种产品的销售额*/
intj,t;
/*用于控制循环*/
inti,k,s;
/*用于定义职工序号,产品序号,产品数量*/
system("
cls"
您想计算哪个月?
/*输入文件名,这样可以进行各个月份信息写入*/
wb"
for(j=0;
j<
j++)/*对商品数量清零*/
for(t=0;
t<
Z;
t++)
(x+j)->
shangpin[t]=0;
pleaseputtheinformationaboutthe职工编号,产品编号,销售数量\n"
/*写入信息*/
;
j++)
scanf("
%d%d%d"
&
i,&
k,&
s);
if(i==0)/*输入职工为0时结束信息输入*/
break;
if(i>
R||i<
0||k>
Z||k<
0)
{
printf("
theinformationerror!
/*避免输入信息出错*/
continue;
}
else
(x+i-1)->
shangpin[k-1]=(x+i-1)->
shangpin[k-1]+s;
/*统计各个人的各种产品的数量,-1为了和数组中的序号相匹配*/
if(fwrite((x+j),sizeof(data),1,fp)!
=1)/*把信息写入文件中便有以后调用*/
writeerror!
fclose(fp);
/*关闭文件避免信息遗漏*/
voidrange_sxy(data*x)/*按销售额对销售员进行排序,输出排序结果*/
inti,k,j,t,bianhao[R]={0},z;
你要哪个月的?
/*读入信息提示*/
)/*用于存储职工编号*/
bianhao[i]=i++;
请输入按何种产品排序\n"
%d"
k);
k=k-1;
/*便于与结构体中的数组值对应*/
i++)/*按K种产品对销售员排序,选择法排序*/
t=i;
for(j=i+1;
if((x+bianhao[t])->
shangpin[k]<
(x+bianhao[j])->
shangpin[k])/*调用职工各自对应的结构体内的产品数量*/
t=j;
if(t!
=i)
{
z=bianhao[i];
bianhao[i]=bianhao[t];
bianhao[t]=z;
}
按%d产品对销售员排序为:
k+1);
i++)
%5d"
bianhao[i]+1);
getch();
voidrange_shangpin(data*x)/*统计每种产品的总销售额,输出排序结果*/
FILE*fp;
inti,j,sum[Z]={0},bianhao[Z]={0},z,t,k;
system("
您想计算哪个月的?
for(i=0;
i++)/*对各种商品求和*/
for(j=0;
sum[i]=sum[i]+(x+j)->
shangpin[i];
)/*用于存储商品编号*/
%3d"
bianhao[i]);
i++)/*对产品从高到低排序,选择法排序*/
j++)/*产品变化时,产品编号也随之变化,便于输出*/
if(sum[t]<
sum[j])
k=sum[i];
sum[i]=sum[t];
sum[t]=k;
输出产品排序\n"
产品编号数量\n"
%-10d%-10d\n"
bianhao[i]+1,sum[i]);
voiddata_out(data*x)/*输出统计报表*/
inti,j,sum[Z+1]={0};
i++)/*求商品总和*/
sum[Z]=sum[Z]+sum[i];
输出统计报表如下:
/*按要求输出统计表*/
产品代号销售之和销售员代号\n"
%-10d%-10d%-10d\n"
j+1,(x+i)->
shangpin[j],i+1);
***********************************\n"
for(i=0;
{
if(i==0)
%d产品之和%-10d总和%-10d\n"
i+1,sum[i],sum[Z]);
else
%d产品之和%-10d\n"
i+1,sum[i]);
getch();
voidmain()
inti,choice;
datasxy[R];
/*R表示职工的个数,前面的宏常量*/
system("
/*清频命令*/
menu();
/*菜单函数提示用户怎样选择*/
你想做什么?
请选择:
/*输入要进行的操作*/
choice);
if(choice==0)/*退出程序*/
switch(choice)
case1:
data_count(sxy);
break;
/*计算上个月每个人每种产品的销售额*/
case2:
range_sxy(sxy);
/*按销售额对销售员进行排序,输出排序结果*/
case3:
range_shangpin(sxy);
/*统计每种产品的总销售额,输出排序结果*/
case4:
data_out(sxy);
/*输出统计报表*/
4软件使用说明书
(1)根据正确的提示安装软件。
(2)Intel486以上系列、AMDK6以上系列等PC台式机和便携式电脑都可运行。
(3)打开该程序系统,浏览菜单,根据需要选择功能,进行各项操作。
操作如下:
点击开始菜单,进入菜单选择。
输入:
将所需的信息输入。
输出:
职员信息、产品信息、销售信息。
根据不同的需要选择,当信息输入显示出错误时,进入浏览信息,找出错误。
当错误不能改正,则退出浏览信息。
进入查询信息:
则屏幕会出现两个对话框——按职员名和按产品名查找,查处相应的所需信息。
当查询不能显示需要时进入修改程序,把所输入的信息进行修改,使之正确能够正常运行或进入删除信息中,重新输入自己所要的信息。
当信息输入正确,进入你所需要的菜单程序中:
职员信息:
显示职员的编号、性别、年龄等。
产品信息:
显示出产品的生产日期,保质期等。
销售信息:
显示出出售产品的数量及价格等。
总结
该系统以销售管理为背景,涵盖了管理员对职员信息管理的多种功能,并且有一定的可行性和安全性,确保了各项指定