1、1.1系统功能简介系统有简单的菜单界面,用户能够通过输入简单的选项来完成相应的工作。选定一种产品,按销售额的顺序对销售员进行排序,输出排序结果。统计每种产品的总销售额,输出排序结果。输出统计报表。1.2系统运行环境Vc+6.0下运行,硬件差不多无要求,现在的运算机系统差不多都能够运行该系统。2功能划分,模块详细说明 系统的功能是通过子函数调用的方式来完成的,下面对程序中用到的函数及其功能做一下说明。void menu():显示主菜单界面。void data_count(data *x):以写方式打开文件,对商品信息清零,读入职工编号、产品编号、销售量等信息,对相同职工的相同产品的销售量求和后写
2、入文件。void range_sxy(data *x):以读方式打开文件,读入信息,输入按何种产品排序后对储备职工编号的数组进行排序,最后输出新序的职工编号信息。void range_shangpin(data *x):从文件读入信息,对每项产品的销售量求和,按每项产品的总销售量排序。void data_out(data *x):打开文件,读入信息,求所有产品的销售量的和,输出统计表。void main():主函数,调用以上函数,完成相应功能。3程序流程图程序整体流程图如图3-1所示:运算产品销售额按销售额对销售员排序统计每种产品的总销售额,排序输出统计报表退出结 束菜 单开 始图3-1整体流
3、程图4系统的运行及说明4.1系统的运行系统初始运行时,会显示如图4-1所示的菜单界面,用户能够依照提示,进行相应的选择,来完成系统提供的各种功能。图4-1输入界面当选择1时,系统调用函数void data_count(data *x),完成相应的功能。运行界面如图4-2所示,系统会要求用户输入月份,然后要求输入那个月份中是哪个职工销售的哪项产品的数量的具体信息,我们的系统假设有四个职工,职工编号从1至4,一共有5项产品,产品编号从1至5。职工和产品的数目都能够更换,只要修改一下程序中的宏定义语句即可。图4-2运算产品销售额界面当选择2时,系统调用void range_sxy(data *x),
4、完成相应部分的功能。运行界面如图4-3所示,系统会要求用户输入月份,然后排序的产品编号,最后给出此项产品的按照销售量的大小进行的销售员的编号的排序情形。 图4-3按销售额对销售员排序的界面当选择3时,系统调用void range_shangpin(data *x),完成对每项商品的总销售量排序的功能,运行界面如图4-4所示:图4-4产品总销售额排序界面当选择4时,系统调用void data_out(data *x),完成输出统计表的功能,统计内容如图4-5所示:图4-5统计报表界面4.2运行说明首次打开系统必须输入一部分职员信息,假如没有职员信息文件,除了输入功能以外,其它的功能将自动禁止,
5、按任意键退出程序。输入时,按照提示连续输入每个职员的单个信息,输入完毕,选择0,程序将自动回到菜单项选择择界面。其它的功能模块都在执行程序时有相应的提示,专门容易操作。5总结通过这次实习,让我们初步有了编写系统的能力,我们对专门多的函数有了新的认识,也学会了运用多种函数,也明白了编写软件的差不多过程,和差不多方法。编写软件的过程中我们又学到了曾经自己不明白的函数或是自己可不能的函数的用法。这次课程设计课总的来说让我受益匪浅。在软件的设计过程中遇到了专门多的困难。在软件一次一次的调试失败下,曾经想过要舍弃。我最后依旧让自己坚持了下来,毫不恐惧困难,在同学的关心与讲解下我总确实是顺利的完成了软件的
6、设计。在程序的编写过程中我们发觉有专门多的知识漏洞和缺陷,需要进一步努力学习来完善自己。在这几天的编写过程中我们对c语言有了更进一步的认识和了解。此次编程过程的体会和知识确信能促进我以后的学习。此次课程设计不仅给了我们专门多专门好的体会,也让我们体会到了失败时的着急和难受,也体会到了成功时的兴奋与欢乐。源程序清单#include string.hconio.hstdlib.h#define Z 5#define R 4 /*定义宏常量便于程序的一样化*/ /*R表示销售员个数*/typedef struct /*缩短结构体变量名*/ int shangpinZ; /*定义结构体便于信息的储备和
7、读写,辨别*/ /*z是表示商品的种类,最后一个为该销售员商品总和*/data;void menu() printf( *n); printf( 0.终止操作n 1.运算上个月每个人每种产品的销售额n 2.按销售额对销售员进行排序,输出排序结果n 3.统计每种产品的总销售额,输出排序结果n 4.输出统计报表n *nvoid data_count(data *x) /*运算上个月每个人每种产品的销售额*/ FILE *fp; char fname10; int j,t; /*用于操纵循环*/ int i,k,s; /*用于定义职工序号,产品序号,产品数量*/ system(cls您想运算哪个月?
8、n请输入月份: /*输入文件名,如此能够进行各个月份信息写入*/ scanf(%s,fname); strcat(fname,.txt if(fp=fopen(fname,wb)=NULL) /*打开文件*/ can not open the filen exit(0); for(j=0;jR;j+) /*对商品数量清零*/ for(t=0;tshangpint=0;please put the information about the 职工编号,产品编号,销售数量n /*写入信息*/;j+)%d%d%d,&i,&k,&s); if(i=0) /*输入职工为0时终止信息输入*/ break;
9、 if(iR|iZ|kshangpink-1=(x+i-1)-shangpink-1+s;/*统计各个人的各种产品的数量,-1为了和数组中的序号相匹配*/ if(fwrite(x+j),sizeof(data),1,fp)!=1) /*把信息写入文件中便有以后调用*/write error! fclose(fp); /*关闭文件幸免信息遗漏*/void range_sxy(data *x) /*按销售额对销售员进行排序,输出排序结果*/ int i,k,j,t,bianhaoR=0,z;你要哪个月的? /*输入文件名,如此能够进行各个月份信息读入*/rb for(i=0;ishangpinkshangpink)/*调用职工各自对应的结构体内的产品数量*/ t=j; if(t!=i) z=bianhaoi; bianhaoi=bianhaot; bianhaot=z;按%d产品对销售员排序为:,k+1);i+)%5d,bianhaoi+1); getch();void range_shangpin(data *x) /*统计每种产品的总销售额,输出排序结果*/ int i,j,sumZ=0,bianhaoZ=0,z,t,k;您想运算哪个月的? if(fread(x+i,sizeof(dat
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1