《2022年C语言实习报告销售管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言实习报告销售管理系统 .pdf(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言实习报告销售管理系统中国地质大学(武汉)材料科学与化学工程学院*班*二零一一年七月名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 24 页 - - - - - - - - - 1目录一、实习要求 .2二、题目分析 .21、要求 .22、任务 .23、运行环境 .34、开发工具 .3三、概要设计 .31、总体设计 .32、系统流程图 .4四、详细设计 .41、详细设计思路 .42、具体代码实现 .5五、程序的具体实现情况 . 19六、设计的总结与体会 .23七、参考文
2、献 .23名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 24 页 - - - - - - - - - 2一、实习要求某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:1)销售员的代号;2)产品的代号;3)这种产品的当天的销售额;每位销售员每天可能上缴0-5 张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。1)计算上个月每个人
3、每种产品的销售额。2)按销售额对销售员进行排序,输出排序结果(销售员代号)3)统计每种产品的总销售额,对这些产品按从高到低的顺序,输出排序结果(需输出产品的代号和销售额)4)输出统计报表二、题目分析1、要求(1)用 c 语言实现程序设计;(2)利用结构体进行相关信息处理;(3)画出查询模块的流程图;(4)系统的各个功能模块要求用函数的形式实现;(5)界面友好(良好的人机互交) ,程序要有注释。2、任务(1)定义一个结构体类型数组,输入每一位同学的记录(包括姓名、电话号码、e_mail 、地址),将其信息存入文件中;(2)输入姓名查询该同学的信息,并显示在屏幕上;(3)画出所有模块的流程图;(4
4、)编写代码;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 24 页 - - - - - - - - - 3(5)程序分析与调试。3、运行环境(1)WINDOWS2000/XP 系统(2)Turboc2.0编译环境4、开发工具C语言三、概要设计1、总体设计本程序要设计销售管理系统, 首先要设计一个选择函数, 用来选择运行其他各个函数。 接着要分别设计输入数据函数,各种统计函数和各种排序函数,用以实现各种统计和排序功能, 最后要设计一个数据请空函数和统计表输出函数,得到程序
5、设计要求的表格。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 24 页 - - - - - - - - - 42、系统流程图四、详细设计1、详细设计思路main()主函数设置了程序的流程,结束程序。select( ) 选择函数选择所想运行的各个函数.functionscan( ) 输入函数输入便条的数据.function1( ) 文件的数据输入函数多次输入数据function2( ) 统计函数每个人的每种产品的统计主菜单目 录if(choice=6)case2;f2()
6、;case3;f3();case4;f4();case5;f5();switch(choice)for (i=0;i+)break;break;结束case1;f1();case6;f6();名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 24 页 - - - - - - - - - 5functionpaixu2( )总额排序函数按销售额对商品进行排序function4()总额统计函数统计每种产品的总额function3()售员排序函数按照销售额对售员排序函数funct
7、ion5()统计报表函数统计商品总额function6()清空文件函数清空文件数据functionpaixu()个人排序函数按销售总额对售员排序2、具体代码实现#define N 4/*宏定义职工数 */#define M 5/*商品数 */#define T (N*M*30)#include#include#includestruct goods/*货物编号 */int emp;int num;int price;gsT;struct employee/*个人排序用 */int sum;int num;empN,work;名师资料总结 - - -精品资料欢迎下载 - - - - - - -
8、- - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 24 页 - - - - - - - - - 6struct sum/*总额排序用 */int num;int sum1;sum1M,you;/*. 打印选择函数 .*/void print1()/*打印选择函数 */printf(n* 欢迎来到销售管理系统*n);printf(*n);printf(* 请选择你想要进行的项目:*n);printf(*n);printf(* 上传每个销售员的销售便条(请输入 1)*n);printf(* 计算每个人每种产品的销售额(请输入 2)*n);prin
9、tf(* 按销售额对销售员进行排序(请输入 3)*n);printf(* 统计每种产品的总销售额,并输出排序结果(请输入 4)*n);printf(* 输出统计报表(请输入 5)*n);printf(* 清空文件函数(请输入 6)*n);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 24 页 - - - - - - - - - 7printf(*n);printf(*由* 班*制作 *n);printf(*n);/*完成*/*. 选择函数 .*/int select()
10、/*选择函数 */int k;int a;doprintf(n 请输入选项 :);scanf(%d,&a);while(a=1&a=6)!=1);switch(a)case 1:k=1;break;case 2:k=2;break;case 3:k=3;break;case 4:k=4;break;case 5:k=5;break;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 24 页 - - - - - - - - - 8case 6:k=6;break;return
11、(k);/*完成*/*. 输入数据函数 .*/void functionscan()/* 输入数据函数 */FILE *fp;char ch;if(fp=fopen(e:employee1.txt,a+)=NULL)exit(1);printf(员工编号产品编号销售数量 :n);ch=getchar();ch=getchar();while (ch!=n)fputc(ch,fp);ch=getchar();rewind(fp);printf( 现在你共有数据 :n);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
12、- - - - - - - 第 9 页,共 24 页 - - - - - - - - - 9ch=fgetc(fp);while(ch!=EOF)putchar(ch);ch=fgetc(fp);fputc(n,fp);/*添加回车符 */fclose(fp);printf(n);/*. 文件的数据输入 .*/void function1()/* 文件的数据输入 */void functionscan();FILE *fp1;int i;i=0;printf(- 欢迎使用 -);printf(n*(请输入相关数据,并在两个数据间输入空格!)*n);loop1:functionscan();pr
13、intf( 继续? n);/*继续? */if(iM*N&(getchar()=y|(getchar()=Y)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 24 页 - - - - - - - - - 10i+;printf(-Nowis%d the tips-n,i+1);goto loop1;printf( 输入任意键返回 n);getch();/*. 每个人的每种产品的统计.*/void function2()/*每个人的每种产品的统计*/FILE *fp;in
14、t i=0,j=0,sum,k;printf(- 每个人的每种产品的统计 -nn);fp=fopen(e:employee1.txt,r+);for(j=0;jN;j+)/*员工数 */for(k=0;kM;k+)/*商品数 */sum=0;for(i=0;iT;)/*扫描便条数 */fscanf(fp,%d%d%d,&gsi.emp,&gsi.num,&gsi.price);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 24 页 - - - - - - - - -
15、11if(j+1)=gsi.emp&(k+1)=gsi.num)sum=sum+gsi.price;i+;printf(|员工编号 %3d|产品编号 %4d|销售数量%9d|n,j+1,k+1,sum);printf(-n);fclose(fp);printf( 输入任意键返回 n);getch();/*. 总额排序函数 .*/void functionpaixu2()int i,j,r;printf(n- 按每种产品的销售额排序-nn);for(i=0;iM;i+)for(j=i+1;jM;j+)if(sum1i.sum1sum1j.sum1)名师资料总结 - - -精品资料欢迎下载 - -
16、 - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 24 页 - - - - - - - - - 12you=sum1i;sum1i=sum1j;sum1j=you;for(r=0;rM;r+)printf(产品编号 %3d|销售数量%10dn,sum1r.num,sum1r.sum1);/*打印数据 */*. 每种产品的总额 .*/void function4()/*每种产品的总额 */FILE *fp;int i=0,sumM=0,k,r;fp=fopen(e:employee1.txt,r+);for(k=0;kM
17、;k+)/*商品数 */sumk=0;for(i=0;iT;)/*扫描便条数 */fscanf(fp,%d%d%d,&gsi.emp,&gsi.num,&gsi.price);if(k+1)=gsi.num)sumk=sumk+gsi.price;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 24 页 - - - - - - - - - 13i+;printf(产品编号 %4d|销售数量%10dn,k+1,sumk);for(r=0;rM;r+)sum1r.sum1=
18、sumr;sum1r.num=r+1;functionpaixu2();fclose(fp);printf( 输入任意键返回 n);getch();/*. 按照销售额对售员排序函数.*/void function3()/*按照销售额对售员排序函数*/FILE *fp;void functionpaixu();int i=0,j=0,sumN=0,b=0;fp=fopen(e:employee1.txt,r+);for(j=0;jN;j+)/*扫描数据 */名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
19、- - - - 第 14 页,共 24 页 - - - - - - - - - 14sumj=0;/*员工数 */for(i=0;i5;)/*扫描便条数 */fscanf(fp,%d%d%d,&gsi.emp,&gsi.num,&gsi.price);if(j+1)=gsi.emp)sumj=sumj+gsi.price;i+;for(b=0;bN;b+)empb.sum=sumb;empb.num=b+1;j=0;for(j=0;jN;j+)printf(销售员编号 %3d|销售数量%10dn,j+1 ,sumj); /*打印数据 */functionpaixu();fclose(fp);p
20、rintf( 输入任意键返回 n);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 24 页 - - - - - - - - - 15getch();/*. 统计报表 .*/void function5()FILE *fp;int su=0,i,j,sumM=0,k;printf(- 统计报表 -n);fp=fopen(e:employee1.txt,r+);/*员工数 */for(k=j=0;kM;j+,k+)/*商品数 */sumj=0;for(i=0;iT;)/*
21、扫描便条数 */fscanf(fp,%d%d%d,&gsi.emp,&gsi.num,&gsi.price);if(k+1)=gsi.num)sumj=sumj+gsi.price;i+;printf(产品编号 %4d|销售数量%10dn,(k+1),sumj);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 24 页 - - - - - - - - - 16for(j=0;jM;j+)su=su+sumj;printf(- 统计报表 -%dn,su);fclose(f
22、p);printf( 输入任意键返回 n);getch();/*. 清空文件函数 .*/void function6()/*清空文件函数 */FILE *fp1;printf(nn 请等待 .n);fp1=fopen(e:employee1.txt,w);if(e:employee1.txt,w)=NULL)/*新建文件 */printf( 程序出错 !n);printf(- 现在请退出程序 -n);exit(1);else printf(nn-Ok -n);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
23、- - - - - 第 17 页,共 24 页 - - - - - - - - - 17fclose(fp1);printf( 输入任意键返回 n);getch();/*. 个人排序函数 .*/void functionpaixu()int i,j,r;printf(n- 按销售员的销售额排序 -nn);for(i=0;iN;i+)for(j=i+1;jN;j+)if(empi.sumempj.sum)work=empi;empi=empj;empj=work;for(r=0;rN;r+)printf(销售员编号 %3d|销售数量%10dn,empr.num,empr.sum);/*打印数据
24、*/名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 24 页 - - - - - - - - - 18/*. 主函数 .*/void main()/*主函数 */int flag;loop2: print1();flag=select();if(flag=1)function1();/*数据的输入 */goto loop2;if(flag=2)function2();/*每个人的每种产品的统计 */goto loop2;if(flag=3)function3();/*按
25、照销售额对售员排序函数*/goto loop2;if(flag=4)function4();/*每种产品的总额排序*/goto loop2;if(flag=5)function5();/*统计报表 */goto loop2;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 24 页 - - - - - - - - - 19if(flag=6)function6();goto loop2;五、程序的具体实现情况1、开始界面名师资料总结 - - -精品资料欢迎下载 - - -
26、 - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 24 页 - - - - - - - - - 202、选择输入“ 1”并按要求输入数据3、不继续输入,返回主界面,输入“2”名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 24 页 - - - - - - - - - 214、输入“ 3”,按销售员销量排序5、输入“ 4”,按产品销量排序名师资料总结 - - -精品资料欢迎下载 - - - - - -
27、 - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 24 页 - - - - - - - - - 226、输入“ 5”,输出统计报表7、输入“ 6”,清空文件函数,从新输入新的数据名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 24 页 - - - - - - - - - 23六、设计的总结与体会该课程设计的销售管理系统实现了对销售的各方面的管理,同时也对各项项目进行排序,最后输出统计表。经过这么多天的课程设计,
28、使我对C 语言有了更进一步的认识和了解,要想学好它要重在实践, 要通过不断的上机操作才能更好地学习它,使用它,通过实践,我也发现我还有许多不足之处。首先对C 语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,而且还会有许多错误。 通过这次的实践,使我在这几个方面的认识有所提高。还有就是通过这次的程序设计,让我更加深刻的明白了程序设计的重要性,同时也更加激起了我要继续学习这门课程的兴趣,现在我还有许多不明白的地方,还需多加努力。通过这段时间的学习, 我学会了很多东西。 同时也非常感谢顾保磊老师这段时间的悉心指导。 使我从对程序一无所知到勉强能够看懂程序,同时也使我了解到了程序的博大
29、精深, 体会到编制程序的无穷乐趣。 这段时间的学习我看到了老师无私的奉献, 也看到了老师不辞辛苦的来回奔波,让我们非常的感动, 同时也更加的激发起了我们学习的兴趣。在这里再一次衷心的感谢老师。七、参考文献1 谭浩强.C 程序设计 (第三版). 北京:清华大学出版社, 2005.2 谭浩强.C 程序设计题解与上机指导 (第三版). 北京:清华大学出版社,20053 罗朝盛,余文芳 .C 程序设计实用教程,人民邮电出版社,20054杨超宇,赵光明,孟祥瑞,李铁锋.C 语言程序设计,华东理工大学出版社,20062011年 7 月 15日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 24 页 - - - - - - - - -