




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 前言某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:1)销售员的代号 ;2)产品的代号;3)这种产品的当天的销售额;每位销售员每天可能上缴0-5张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。 1)计算上个月每个人每种产品的销售额。2)按销售额对销售员进行排序,输出排序结果(销售员代号)3)统计每种产品的总销售额,对这些产品按从高到低的顺序,输出排序结果(需输出产品的代号和销售额)4)输出统计报表 2 需求分析21要求(1)用c语言实现程序设计;(2)利用结构体进行相关信息处理;(3)画出查询模块的流程图;(4)系统的各个功能模块要求用函数的形式实现;(5)界面友好(良好的人机互交),程序要有注释。22任务(1)定义一个结构体类型数组,输入每一位同学的记录(包括姓名、电话号码、e_mail、地址),将其信息存入文件中;(2)输入姓名查询该同学的信息,并显示在屏幕上;(3)画出所有模块的流程图;(4)编写代码;(5)程序分析与调试。23运行环境(1)windows2000/xp系统(2)turboc2.0编译环境24开发工具c语言3 概要设计3.1总体设计本程序要设计销售管理系统,首先要设计一个选择函数,用来选择运行其他各个函数。接着要分别设计输入数据函数,各种统计函数和各种排序函数,用以实现各种统计和排序功能,最后要设计一个数据请空函数和统计表输出函数,得到程序设计要求的表格。32 系统流程图(如图3.1)printf( total is-%dn,su);su=su+sumj;side by sidesumj=0;j+jmj=0j+,k+k=a&a=a&a=a&a=g)!=1); switch(a) case a:k=1;break; case b:k=2;break; case c:k=3;break; case d:k=4;break; case e:k=5;break; case f:k=6;break; case g:k=7;break; return(k); /*完成*/ /*.输入数据函数.调试成功.*/ void functionscan()/*输入数据函数*/ file *fp; char ch; if(fp=fopen(c:tcemployee1,a+)=null) exit(1); printf( employee.no. goods.no. total cash:n); ch=getchar(); ch=getchar(); while (ch!=n) fputc(ch,fp); ch=getchar(); rewind(fp); printf(now you have data is:n); ch=fgetc(fp); while(ch!=eof) putchar(ch); ch=fgetc(fp); fputc(n,fp);/*添加回车符*/ fclose(fp); printf(n); /*.文件的数据输入.调试成功.*/ function1()/*文件的数据输入*/ void functionscan(); file *fp1; int i; i=0; printf(-welcome to use- ); printf(n *(please input pleaseinput speace between data!)* n); loop1: functionscan(); printf(continue?n);/*继续?*/ if(im*n&(getchar()=y|(getchar()=y) i+;printf(-now is%d the tips-n,i+1); goto loop1; printf(press any key backn); getch(); /*.每个人的每种产品的统计.调试成功.*/ void function2()/*每个人的每种产品的统计*/ file *fp; int i=0,j=0,sum,k; printf(-every employees sales-nnn); fp=fopen(c:tcemployee1,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); if(j+1)=gsi.emp&(k+1)=gsi.num) sum=sum+gsi.price; i+; printf( | employeesno.%3d |goodsno.is%4d |totalprice:%9d |n,j+1,k+1,sum); printf( -n); fclose(fp); printf(press any key backn); getch(); /*-总额排序函数-*/ void functionpaixu2() int i,j,r; printf(-now ordered / by sales-n); for(i=0;im;i+) for(j=i+1;jm;j+) if(sum1i.sumsum1j.sum) you=sum1i; sum1i=sum1j; sum1j=you; for(r=0;rm;r+) printf( goodsno.%3d |totalprice:%10dn,sum1r.num,sum1r.sum); /*打印数据*/ /*.每种产品的总额.调试成功.*/ function4() /*每种产品的总额*/ file *fp; int i=0,summ=0,k,r; fp=fopen(c:tcemployee1,r+); /*员工数*/ for(k=0;km;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; i+; printf( goodsno.%4d |totalprice:%10dn,k+1,sumk); for(r=0;rm;r+) sum1r.sum=sumr;sum1r.num=r+1; functionpaixu2(); fclose(fp); printf(press any key backn); getch(); /*.按照销售额对售员排序函数.调试成功.*/ function3() /*按照销售额对售员排序函数*/ file *fp; void functionpaixu(); int i=0,j=0,sumn=0,b=0; fp=fopen(c:tcemployee1,r+); for(j=0;jn;j+) /*扫描数据*/ sumj=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; /*printf(%4d%4dn,empb.sum,empb.num);*/*数据正确性检查*/ j=0; for(j=0;jn;j+) printf( employeesno.%3d |totalprice:%10dn,j+1 ,sumj); /*打印数据*/ functionpaixu(); fclose(fp); printf(press any key back!n); getch(); /*-调试成功-统计报表-*/ function5() file *fp; int su=0,i,j,summ=0,k; printf( -sales table-n); fp=fopen(c:tcemployee1,r+); /*员工数*/ for(k=j=0;km;j+,k+) /*商品数*/ sumj=0; for(i=0;it;) /*扫描便条数*/ fscanf(fp,%d%d%d,&gsi.emp,&gsi.num,&gsi.price); if(k+1)=gsi.num) sumj=sumj+gsi.price; i+; printf( goodsno.%4d |totalprice:%10dn,(k+1),sumj); for(j=0;jm;j+) su=su+sumj; printf( total is-%dn,su); fclose(fp); printf(press any key backn); getch(); /*-清空文件函数-调试成功-*/ function6()/*清空文件函数*/ file *fp1; printf(nnplease wait!.n); fp1=fopen(c:tcemployee1,w); if(fp1=fopen(c:tcemployee1,w)=null)/*新建文件*/ printf(my soft in your computer have error!n); printf(-now please exit-n); exit(1); else printf(nn -ok -n); fclose(fp1); printf(press any key backn); getch(); /*-输出表格函数-调试成功-*/function7()int t,s;int anm; file *fp; int i=0,j=0,sum,k; fp=fopen(c:tcemployee1,r+);printf(table of the statistics of the salen);printf( the number of the goods the totaln);printf(employees number 1 2 3 4 5 n);for(j=0;jn;j+) /*员工数*/ for(k=0;km;k+) /*商品数*/ sum=0; t=0; for(i=0;it;) /*扫描便条数*/ fscanf(fp,%d%d%d,&gsi.emp,&gsi.num,&gsi.price); if(j+1)=gsi.emp&(k+1)=gsi.num) sum=sum+gsi.price; i+; akt+=sum; s=0; for(t=0;tm;t+) s=s+akt; akm=s; printf(%5d,j+1); for(t=0;t=m;t+) printf(%8d,akt); printf(n); /*-个人排序函数-调试成功-*/ void functionpaixu() int i,j,r; printf(n-now ordered / by sales-n); 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( employeesno.%3d |totalprice:%10dn,empr.num,empr.sum); /*打印数据*/ /*.主函数.*/ main() /*主函数*/ int flag; loop2: print1(); flag=select(); if(flag=1) clrscr(); function1(); /*数据的输入*/ clrscr(); goto loop2; if(flag=2) clrscr(); function2(); /*每个人的每种产品的统计*/ goto loop2; if(flag=3) clrscr(); function3(); /*按照销售额对售员排序函数*/ goto loop2; if(flag=4) clrscr(); function4(); /*每种产品的总额 排序*/ goto loop2; if(flag=5) clrscr(); function5(); /*统计报表*/ goto loop2; if(flag=6) clrscr(); function6(); goto loop2; if(flag=7)clrscr(); function7(); goto loop2; 5课程设计的总结与体会该课程设计的销售管理系统实现了对销售的各方面的管理,同时也对各项项目进行排序,最后输出统计表。经过这么多天的课程设计,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,使用它,通过实践,我也发现我还有许多不足之处。首先对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,而且还会有许多错误。通过这次的实践,使我在这几个方面的认识有所提高。就是还有通过这次的程序设计,让我更加深刻的明白了程序设计的重要性,同时也更加激起了我要努力学好这门课程的兴趣,现在我还有许多不明白的地方,还需多加努力。参考文献1 谭浩强.c程序设计(第三版).北京:清华大学出版社,2005.2 谭浩强. c程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 难度最大的数学试卷
- 期末浙江数学试卷
- 2025年浙江温州市图盛供电服务有限公司招聘64人笔试参考题库附带答案详解
- 2025福建漳浦县储备粮管理有限公司公开招聘4人笔试参考题库附带答案详解
- 2025年安徽阜阳兴泉发展有限公司下属子公司公开招聘工作人员7人笔试参考题库附带答案详解
- 2025年城市综合体配套设施建设施工合作协议
- 2025年雅安市中考语文试卷真题(含标准答案)
- 2025年大数据分析系统租赁融资合同:企业数据平台租赁金融协议
- 2025年特色餐饮店铺装修租赁及运营支持服务合同
- 2025年绿色环保办公租赁与企业文化塑造及视觉设计合同
- 小学形容词副词单选题200道及答案(完整版)
- 抖音账号运营的工作计划
- 2025届辽宁省辽南协作校高一物理第二学期期末考试试题含解析
- 建筑地基处理技术规范DBJ-T 15-38-2019
- 中国律师学 课件 陈卫东 第1-9章 律师制度的产生和发展-律师的管理
- 《燃煤火力发电企业设备检修导则》
- (2024年)物联网车联网
- 设备维保的法律法规与标准要求
- 胖东来服务管理手册
- 20230301-ECC200边缘网络控制器
- ISO27001:2022信息安全管理手册+全套程序文件+表单
评论
0/150
提交评论