资源描述:
《C语言学生信息管理系统报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2014-12-25C语言程序设计报告销售信息统计管理系统一.任务描述某公司有4个销售员,负责销售5种产品。每个销售员都将当日销售的每种产品各写一张便条提交给公司。每张便条内容有:1、销售员的编号2、销售产品的代号产品3、产品销售量根据需求,此系统提供以下功能:1、以菜单界面呈现。2、信息录入功能。3、信息查询功能。(包括查询某销售员的各产品销售量,某种产品的销售总量,某销售员的总销售额)4、销量排序功能。5、生成统计报表功能。本系统采用结构体数组以及数据文件的技术,将输入的数据用结构体数组保存,
2、并提供文件的保存与读取。在程序中要进行统计工作,所以提供显示、排序等操作,另外应提供键盘式选择菜单实现功能选择本程序使用C语言。此程序在vc++6.0上调试通过。二.功能实现设计1.总体设计根据上面的分析,将这个程序分为四大模块。——1.销售信息录入。2.查询信息3.文件的保存。4.文件的读取查询系统包括1.各个销售员销售额。2.销售总额以及排序。3各产品销售总额及热度。4.总信息统计生成报表。2.流程图3.详细设计①【数据结构】typedefstruct{intname;inta1;inta2;
3、inta3;inta4;inta5;}SYS;/*定义数组*/②【功能函数声明】intmenu();/*选择菜单函数声明*/intmenu_1();/*子菜单函数声明*/intenter(SYSt[]);/*进入函数声明*/voidsalor(SYSt[],intn);/*声明函数*/intsum(SYSt[],intn,intm);/*统计函数声明*/voidlist1(SYSt[],intn);/*菜单1函数声明*/voidlist2(SYSt[],intn);/*菜单2函数声明*/voidl
4、ist3(SYSt[],intn);/*菜单3函数声明*/voidsave(SYSt[],intn);/*保存文件函数声明*/intload(SYSt[]);/*读取函数声明*/SYSste[100];intlen;/*全局变量定义*/③【主函数】voidmain(){system("cls");for(;;){switch(menu())/*根据用户的选择判断该调用哪个功能函数*/{case1:len=enter(ste);break;case2:menu_1();break;case3:sav
5、e(ste,len);break;case4:len=load(ste);break;case0:exit(0);}}}④【主菜单函数】打印出菜单功能选项,包括便条清单输入、信息查询、储存文件、读取文件和退出5个选项。根据用户的选择判断该调用哪个功能函数,则输入相应的选项代号n(0-4)以运行该功能选项。如下图所示⑤【清单输入函数】intenter(SYSt[])清屏之后输出提示语“请输入便条的信息”,按提示语输入便条信息,输入数据的同时,已将该信息存入开始已定义的结构体数组typedefstru
6、ctSYSt[]中,以便在排序功能选项、统计功能选项、输出清单列表选项等功能选项中读取信息,进行编辑,阅读。输入结束以信息全为零而结束清单输入,返回主菜单。⑥【便条信息查询函数】voidsalor(SYSt[],intn)进入查询功能,出现提示语“输入所要查看的售货员的代号”,输入销售员的代号(1-4),通过循环判断读取输入的销售员代号(s)来进行对信息的阅读。⑦【求和函数】intsum(SYSt[],intn,inte)定义初始值sum=0通过对销售员代号的循环和判断(当销售员代号与传递的e值相
7、同),累加并统计同一个销售员销售不同种产品的销售额信息,返回统计值sum,以便调用。⑧【排序函数】voidlist1(SYSt[],intn)调用求和函数返回的统计值sum(使c[i]=sum(t,n,m[i])),按销售员的总销售额进行从大到小排序,输出销售员的代号m[i]。⑨【销售额情况的函数调用】voidlist2(SYSt[],intn)调用求和函数使c[i]=sum(t,n,i+1),累加并统计每个人销售每种产品的总销售额和所有销售员销售的所有产品的总销售额,再将每个人销售每种产品的总销
8、售额放到定义的数组(xs[5]={sum1,sum2,sum3,sum4,sum5})中,按每种产品的总销售额sum[i]循环比较并排序输出产品代号a[i]和总销售额xs[i]。⑩【销售统计报表输出函数】voidlist3(SYSt[],intn)类似输出如下表格:销售统计报表产品代号销售之和销售员代号123451234每种产品之和总和如下图所示:⑪【保存函数】voidsave(SYSt[],intn)打开sys.txt文件,如果函数带回一个空指针值if((fp=fopen("sy