C语言学生信息管理系统报告_第1页
C语言学生信息管理系统报告_第2页
C语言学生信息管理系统报告_第3页
C语言学生信息管理系统报告_第4页
C语言学生信息管理系统报告_第5页
免费预览已结束,剩余14页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言程序设计报告2021-12-25销售信息统计治理系统一.任务描述某公司有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;inta3;inta4;inta5;)SYS;/*t义数组*/【功能函数声明】intmenu();/*选择菜单函数声明*/intmenu_1();/*子菜单函数声明*/int

3、enter(SYSt);/*进入函数声明*/voidsalor(SYSt,intn);/*声明函数*/intsum(SYSt,intn,intm);/*统计函数声明*/voidlist1(SYSt,intn);/*菜单1函数声明*/voidlist2(SYSt,intn);/*菜单2函数声明*/voidlist3(SYSt,intn);/*菜单3函数声明*/voidsave(SYSt,intn);/*保存文件函数声明*/intload(SYSt);/*读取函数声明*/SYSste100;intlen;/*全局变量定义*/【主函数】voidmain()system("cls"

4、);for(;)*/switch(menu()/*根据用户的选择判断该调用哪个功能函数case1:len=enter(ste);break;case2:menu_1();break;case3:save(ste,len);break;case4:len=load(ste);break;case0:exit(0);【主菜单函数】打印出菜单功能选项,包括便条清单输入、信息查询、储存文件、读取文件和退出5个选项.根据用户的选择判断该调用哪个功能函数,那么输入相应的选项代号n(0-4)以运行该功能选项.如下列图所示*'C:UsersAsusDesktopc言建程设计Debu今黑统最终点上xe,

5、销售信息统讦治理系统隹=销信文文人询存取出输查储读退12340不干不事不不不不不不不不不不不奉平:不不不不不menu亭亭不不不不不事不不事不不察下不不不不平不不信息科*林*口口料:*请输入你的选择(OY):.菜单【清单输入函数intenter(SYSt)清屏之后输出提示语“请输入便条的信息,按提示语输入便条信息,输入数据的同时,已将该信息存入开始已定义的结构体数组typedefstructSYSt中,以便在排序功能选项、统计功能选项、输出清单列表选项等功能选项中读取信息,进行编辑,阅读.输入结束以信息全为零而结束清单输入,返回主菜单.【便条信息查询函数】voidsalor(SYSt,intn)

6、进入查询功能,出现提示语“输入所要查看的售货员的代号,输入销售员的代号(1-4),通过循环判断读取输入的销售员代号(s)来进行对信息的阅读.瓯*和木林*M*munu*木本*44*林京*林附1查询每个人后而产品的箱售额*蚌2查询销售员总销售额排行科杵3查询各产品的销售总额及热度科"4查询统计租表*杆*#*林:姓*#*耳*#*科耳*和匚姓本请输入你的选择(1-4):1输入所要查看的售货员的代号:1脑员代号产品1产品2产品3产品4产品5一一!B,111111按任意健继续.查询【求和函数】intsum(SYSt,intn,inte)定义初始值sum=C®过对销售员代号的循环和判断(

7、当销售员代号与传递的e值相同),累加并统计同一个销售员销售不同种产品的销售额信息,返回统计值sum,以便调用.【排序函数】voidlistl(SYSt,intn)调用求和函数返回的统计值sum(使ci=sum(t,n,mi),按销售员的总销售额进行从大到小排序,输出销售员的代号mio【销售额情况的函数调用】voidlist2(SYSt,intn)调用求和函数使ci=sum(t,n,i+1),累加并统计每个人销售每种产品的总销售额和所有销售员销售的所有产品的总销售额,再将每个人销售每种产品的总销售额放到定义的数组(xs5=sum1,sum2,sum3,sum4,sum5)中,按每种产品的总销售额

8、sumi循环比拟并排序输出产品代号ai和总销售额xsio【销售统计报表输出函数voidlist3(SYSt,intn)类似输出如下表格:销售统计报表产品代号销售之和销售员代号123451234每种产品之和总和如下列图所示:曾告报表一-销售员序号12345总数11111152222221033333315g4444420总和101010101050按任意飕线销售报表?【保存函数】voidsave(SYSt,intn)翻开sys.txt文件,如果函数带回一个空指针值if(fp=fopen("sys.txt","wb")=NULL),那么显示“不能翻开文件,非

9、法退出再进行存储文件.通过文件指针,循环将便条信息输出到fp指向的文件.关闭文件,显示*存储成功*,“按任意键继续.?【读取函数】intload(SYSt):定义文件指针*fp,循环从fp指向的文件上读入便条信息,关闭文件,显示“成功读取文件信息!,“按任意键继续.返回n值.四.主要模块的算法描述1.查询函数流程图梢店员之品信息直漕函赖2,求和函数流程图卷曜触流程图3,排序函数流程图输出梢号员代号mi.打用:按任意键继读.打印,从大到小柳匕受销石靠排行粽.定义两个效阻cm1.m£il=sumLnjnfi-s吨地同北m(j-上.与气阻口三口;5=即排序函数如下所示:13'C:U

10、sersXAsu5XDesktopt语言沸程没计Debug便统最终氏exe'产品代号:2总销售额可产品代号;5总销售额24产品代号:4总箱售额17产品代号:1总销售额;17产品代号;3息销售额-3按任意键继续三.总结与反思通过这次C程序设计,我掌握了模块化设计方法,能够深入的理解结构化程序设计思想,熟练运用结构化程序设计方法,提升了运用C语言进行程序设计的水平.此外我还熟悉了,对于文件读写的操作.更重要的是对程序的调试有了显著的提升.附录:#include<stdio.h>#include<stdlib.h>typedefstruct(intname;inta1

11、;inta2;inta3;inta4;inta5;SYS;intmenu();intmenu_1();intenter(SYSt);voidsalor(SYSt,intn);intsum(SYSt,intn,intm);voidlist1(SYSt,intn);voidlist2(SYSt,intn);voidlist3(SYSt,intn);voidsave(SYSt,intn);intload(SYSt);SYSste100;intlen;voidmain()(system("cls");for(;)(switch(menu()(case1:len=enter(ste)

12、;break;case2:menu_1();break;case3:save(ste,len);break;case4:len=load(ste);break;case0:exit(0);)intmenu()intn;printf("*menu*n");printf("*1输入销售信息printf("*2查询信息printf("*3储存文件printf("*4读取文件printf("*0退出printf("销售信息统计治理系统n");printf("*end*n");*n")

13、;*n");*n");*n");*nn");printf("请输入你的选择(0-4):");scanf("%d",&n);if(0<n&&n<5)system("cls");returnn;)intmenu_1()(inth;printf("*menu*n");printf("*1查询每个人每种产品的销售额printf("*2查询销售员总销售额排行printf("*3查询各产品的销售总额及热度printf(&q

14、uot;*4查询统计报表printf("*end*n");printf("请输入你的选择(1-4):");*n");*n");*n");*n");scanf("%d",&h);switch(h)(case1:salor(ste,len);break;case2:list1(ste,len);break;case3:list2(ste,len);break;case4:list3(ste,len);break;)returnh;)intenter(SYSt)(inti;system(&qu

15、ot;cls");printf("请输入便条的信息:");printf("销售员代号产品1产品2产品3产品4产品5");printf("nn退出请输入各信息为0退出!n");for(i=0;i<1000;i+)(printf("nn");scanf("%d%d%d%d%d%d",&,&ti.a1,&ti.a2,&ti.a3,&ti.a4,&ti.a5);if(=0)&&(ti.a1=0)&

16、amp;&(ti.a2=0)&&(ti.a3=0)&&(ti.a4=0)&&(ti.a5=0)break;)printf("nnnn");returni;)voidsalor(SYSt,intn)(inti,s;intb1=0,b2=0,b3=0,b4=0,b5=0;printf("输入所要查看的售货员的代号:");scanf("%d",&s);for(i=0;i<n;i+)if(=s)(b1+=ti.a1;b2+=ti.a2;b3+=ti.a3;b4

17、+=ti.a4;b5+=ti.a5;printf"销售员代号产品1产品2产品3产品4产品5n"printf("n");printf("%-12d%-6d%-6d%-6d%-6d%-6d",s,b1,b2,b3,b4,b5);printf("n按任意键继续.nn");getchar();intsum(SYSt,intn,inte)inti,sum=0;for(i=0;i<=n;i+)if(e=)sum+=ti.a1;sum+=ti.a2;sum+=ti.a3;sum+=ti.a4;sum+=ti.

18、a5;returnsum;voidlist1(SYSt,intn)inti,j,s;intc4,m4;system("cls");for(i=0;i<4;i+)mi=i+1;for(i=0;i<4;i+)ci=sum(t,n,mi);for(i=0;i<4;i+)for(j=i+1;j<4;j+)if(ci<cj)s=mi;mi=mj;mj=s;s=ci;ci=cj;cj=s;)printf("从大到小销售员销售额排行榜n");for(i=0;i<4;i+)printf("%dn",mi);prin

19、tf("n按任意键继续.nn");getchar();)voidlist2(SYSt,intn)intindex,k,s;inti,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0;intC4,b14=0,b24=0,b34=0,b44=0,b54=0;system("cls");for(i=0;i<4;i+)ci=sum(t,n,i+1);for(i=0;i<4;i+)sum0+=ci;for(i=0;i<n;i+)for(j=0;j<4;j+)if(j+1=)b1j+=ti.

20、a1;b2j+=ti.a2;b3j+=ti.a3;b4j+=ti.a4;b5j+=ti.a5;for(i=0;i<4;i+)sum1+=b1i;sum2+=b2i;sum3+=b3i;sum4+=b4i;sum5+=b5i;intxs5=sum1,sum2,sum3,sum4,sum5;inta5=1,2,3,4,5;for(k=0;k<4;k+)index=k;for(i=k+1;i<5;i+)if(xsi>xsindex)index=i;s=xsindex;xsindex=xsk;xsk=s;s=aindex;aindex=ak;ak=s;for(i=0;i<

21、5;i+)printf("产品代号:-10d",ai);printf("总销售额:-10dn",xsi);printf("按任意键继续nn");getchar();voidlist3(SYSt,intn)inti,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0;intC4,b14=0,b24=0,b34=0,b44=0,b54=0;system("cls");for(i=0;i<4;i+)ci=sum(t,n,i+1);for(i=0;i<4;i+)sum0+=c

22、i;for(i=0;i<n;i+)for(j=0;j<4;j+)if(j+1=)b1j+=ti.a1;b2j+=ti.a2;b3j+=ti.a3;b4j+=ti.a4;b5j+=ti.a5;)for(i=0;i<4;i+)(sum1+=b1i;sum2+=b2i;sum3+=b3i;sum4+=b4i;sum5+=b5i;)printf("销售寸艮表nnn");printf("销售员序号12345总数nn");for(i=0;i<4;i+)printf("%-7d%-7d%-7d%-7d%-7d%-7d%-7dn",i+1,b1i,b2i,b3i,b4i,b5i,ci);printf("总和-7d%-7d%-7d%-7d%-7d%-7d,sum1,sum2,sum3,sum4,sum5,sum0);printf("n按任意键继续.nn");getchar();)voidsave(SYSt,intn)(inti;FILE*fp;if(f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论