C语言程序设计销售管理系统_第1页
C语言程序设计销售管理系统_第2页
C语言程序设计销售管理系统_第3页
C语言程序设计销售管理系统_第4页
C语言程序设计销售管理系统_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、销售信息管理系统设计文档组号:第二组成员:汪品高齐瑞智欧阳鑫赵飞锋章森目录1 题目与要求2 功能实现设计(模块化设计)3 运行结果(附带抓图)4 源程序报告正文1、 题目与要求:2、某公司有四个销售员(编号:1-4),负责销售五种产品(编号:15)。每个销售员汇总当天出售得每种产品得销售情况。2每天销售情况包括(销售员得代号、产品得代号、这种产品当天得销售额)1、编写一个销售信息管理系统,读取上个月得销售情况1、 计算上个月没人每种产品得销售额2、 按销售额对销售员进行排序,输出排序结果(销售员代号)3、 统计每种产品得总销售额,对这些产品从高到低得顺序输出结果(须输出产品得代号与销售额)4、

2、 输出统计报表2、需求分析本程序将用到文件系统E:/54321、doc文件内容作为数据源,其中单行内容代表一张纸条.程序运行后首先将文件系统得原始数据读取并保存到程序得结构体数组当中,所以应提供文件输入得操作;由于纸条数据零散,所以要对原始数据进行分类操作并提供一个数组用于保存分类信息;在程序中要进行统计工作,所以要提供显示、排序等操作;另外应提供键盘式选择菜单实现功能选择。3、功能实现设计3、1总体设计根据上面得分析,可以将这个系统分为如下五大模块:查瞧每人每种产品得销售额、按销售额对销售员排序、对每种产品总销售额从高到低排序、输出统计报表与退出。其中主要模块就是前四个模块.3、2流程图开始

3、tJ推出系统T?读取便条上得信3、3详细设计:I3、3、1【头文件与预定义】#includestdio、h*#include<conio、h># inelude<stdlib、h主菜单# include<string、h>#defineM3、3、2【功能函数声明】vvoiddetail();voidforeach();4voidmenu();每个人每种销售员销售业绩统计总销售额输出统计表void p rod u ct()产品销售额voidreaddata();voidseIler();voidtotal();voidchoice();3、3、3【数据结构】退出系统

4、返回主菜原始数据有销售员代号、产品代号与销售额,所以定义一个全局结构体数组scrip用于保存原始数据。然后定义全局变量n保存纸条数目,定义数组s用于保存分类后得信息。structintsid;/销售员代号intpid;/产品代号intsn;/销售额ssM;/纸条数目ints45=0,0,0,0,O,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;/用于保存员工与产品信息3、3、4【主函数】显示程序设计者相关信息与调用文件读取函数、数据初始化函数与主菜单函数voidmain()/入口函数,即主函数readdata();/读取文件数据foreach();/根据文件初始数据初始化便于操作

5、得数组menu();/显示主菜单3、3、41【文件读取函数】readdata()读出便条中得内容,并保存到文件结构体中voidreaddata()/从文件读取数据?FILE*fp;/定义文件指针?if(fp=fopen("list、txt","r")=NILL)?printf("Can/topenthefile!n");?exit(0);?else? ? fsca&s s n、,&s sn、sid, & ss n、pid,?for(n=0;!feof(fp);n+)nf(fp,"%d%d%n"

6、;sn);?/保存文件数据到结构体fclose(fp);3、3、4-2【文件读取函数】foreach()将保存到结构体中得信息按产品分类,再根据销售员进行分类,将信息存到数组当中。voidforeach()/从纸条读取数据并分类整理?1nti;?for(i=0;i<n;i+)/遍历所有纸条switch(ssi、pid)?/按产品分大类(例如就就是casei-5),根据大类分销售员小类,累加各人各产品销售数量?case1:switch(ssi、sid)case1:s00+=ssi、sn;break;case 2: sl0+=ssi、sn;break;case3:s20+=ssi、sn;br

7、eak;case4:s30+=ssi、sn;break;break;case2:switch(ssi卜sid)case1:s01+=ssi、sn;break;case2:s1l+=ssi、sn;break;case3:s1+=ssi、sn;break;case4:s31+=ssi、sn;break;break;ase3:tch(ssi、sid)case1:s02+=ssi、sn;break;case2:s12+=ssi、sn;bcase3s22+=ssi、sn;break;case4s32+=ssi、sn;brek;k;case4:?switchsiid)s03+=ssi、sn;break;s

8、e2:s13+=ssi、sn;break;case3:s23+=ssi、sn;brecase4:s33+=ssi、sn;break;break;case5:?switch(ssi、sid)case1:s04+=ssi、sn;break;case2:s14+=ssi、sn;break;case 3: s24+=ssi、sn;break;case 4: s34+=ssi、sn;break;3、3、4-3【主菜单函数】menu()显示系统功能菜单以供用户选择相关功能使用,根据用户选择分别可调用detail():计算上个月每个人每种产品得销售额seller。:按销售额对销售员进行排序,输出排序结果(销

9、售员代号)product():统计每种产品得总销售额,对这些产品按从高到低得顺序输出排序结果(需输出产品代号与销售额)xit0):退出系统voidmenu()?doputs("tt*菜单* nn);puts(”t 1 、查瞧每人每种产品得销售额n ”) ;putsp u ts 销售额 n ”);("tt2、按销售额对销售员排序(销售员代号)n");("tt3、对每种产品总销售额从高到低排序(产品代号与putsott4、输出统计报表n");puts("tt5、退出、n”);p uts (t t * * * * * * * * * *n&

10、quot;);printf("请选择(1-5):bb");scanf("%d",&c);if(c<l|c>5)/错误输入则重新获取输入?w=1elsew=0;while(w=l);switch(c)/根据输入实现相应画数避用case 1:detail();break;/每个销售员每种产品得销售额统计case 2:seller();break;case 3:product();break;case 4: total();break;case5:exit(0);3、3、5【功能函数】511每人每种产品销售额统计函数】detail()计算上

11、个月每个人每种产品得销售额voiddetail()/显示销售情况for(i=0;i<4;i+)/遍历销售员?printf("tt%d号销售员销售情况:n",i+1);?for(j=0;j5;j+)?/按销售员分类遍历所有产品并显示信息?printf(tt%cHt产品销售数量:dn”,j+1,sij)?choice();3、3、5-1【销售员销售业绩排序函数】se1ler()按销售额对销售员进行排序,输出排序结果(销售员代号)voidseller()int sp4 = 0,0, 0 , 0for(i=0;i<4;i+)for(j=0;j<5;j+)spi+=

12、sij;/计算每单个销售员所有产品销售数里? ? for(i=0 ; i< 4 ; i +)? k = 0;? fo r (j= 0 ; j <4 ;j+ )/比较四次,每次选出最大数/用于标记单轮最大数?if(spkspj)k=j;/获取最大数标号?prinsp k = 1 ;t第名就是d号销售员!nm,i+1,k+1);?/输出最大数与排名,将最大数标记为负choice();3、3、52【总销售额统计函数】voidproduct()统计每种产品得总销售额,对这些产品按从高到低得顺序输出排序voidproduct()/与seller()原理一样,用于对产品进行统计inti,j,k

13、;?intp5=0,0,0,0,0;for(j=0;j<5;j+)?for(i=0;i<4;i+)pj1+=sij;?for(j=0;j<5;j+)?k=0;?for(i=0;i<5;i+)?if(pkp1)k=i;?printf("t七第%d名就是号产品!t销量为%d!n",j+1,k+1,pk);pk=1;?choice();3、3、5-3【统计报表输出函数total()统计每种产品得总销售额,对这些产品按从高到低得顺序输出排序结果(需输出产品代号与销售额)voidtotal()/输出报表inti,j;printf("nt销售员t产品t

14、销量n);?for(i=0;i4;i+)?for(j=0;j5;j+)?printf("t%t%dt%dn",i+1,j+1,sij);?choice();3、3、6【公共函数】【选择函数】choice()选择退出系统或则返回主菜单voidchoice()/用于输出信息功能选择intc;printf("请选择接下来想做什么t1返回菜单t2退出系统b”);scanf(d",c);if(c=1)menu();elseexit(0);puts('nz);4、运行结果(附带抓图)List、txt(便条)文件中数据如下:(提前建立文件或就将便条保存在文件中

15、!!!)1111221331481 592 132232342452 563 11321(这就是个例子)3 564 12423434445456运行结果显示主菜单:查瞧每人每种产品得销售额运行结果:退出系统1加选择d-5):1兄12389»''音云>¥鼻曾熬款期珈热:星星星星口ns<a<R销售品品品品品翼产产产产nlnllpohl斤1-12345国军量量量量«1数蝌粉-蚁里星度呈屋口足百官肖肖肖售品品品品品裳产产产产)IpagalpolJTOlp212345兄11456HB:-BiBH管星量量量量由痂-斯数眇箜星星星星口lz;SI

16、C肖肖肖肖售品品品品品港产产产产31234-S兄23456,4'r宜*:<:>:霆害救她致的效篦星星星星口>!_nrtrn肖肖肖肖1清选择接下来想做什么按销售额对销售员按顺序排序(销售员代号)运行结果对每种产品销售额从高到低排序运行结果:统计报表运行结果:6、源程序# inc1udevstdio、h># include<conio、h># include<stdlib、h>/*调用exit函数*/#include<string、h># defineM155/*宏定义*/voiddetail();voidforeach();vo

17、idmenu();voidproduct。;voidreaddata();voidsel1er();voidtotal();voidchoice();structssintsid;/销售员代号intpid;/产品代号intsn;销售额ssM;intn;纸条数目ints45=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;/用于保存员工与产品信息voidmain()入口函数,即主函数preaddata();读取文件数据foreach();/根据文件初始数据初始化便于操作得数组menu();/显示主菜单voidreaddata()从文件读取数据?FILEfp;if(

18、fp=fopen("1ist、txt","r")=NULL)?隼rintf("Can'topenthefi1e!n");exit(0);?else?or(n=0;!feof(fp);n+)?fscanf(fp,%d%d%dn",&ssn、sid,&ssn、pid,&ssn、sn);?/保存文件数据到结构体fclose(fp);voidforeach()/从纸条读取数据并分类整理?inti;for(i=0;i<n;i+)遍历所有纸条switch(ssi、pid)?按产品分大类,根据大类分销

19、售员小类,累加个人各产品销售数量?case1:?switch(ssi、sid)?case1:s00+=ssi、sn;break;?case2:s10+=ssi、sn;break;?case3:s20+=ssi、sn;break;?case4:s30+=ssi、s"break;?break;?case2:?switch(ssi、sid)?case1:s01+=ssi、sn;break;?case2:s11+=ssi、sn;break;?case3:s21+=ssi、sn;break;?case4:s31+=ssi、sn;break;?break;?case3:?switch(ssi、s

20、id)?case1:s02+=ssi、sn;break;?case2:s12+=ssi、sn;break;?case3:s22+=ssi、sn;break;?case4:s32+=ssi、sn;break;?break;?case4:?switch(ssi、sid)?case1:s03+=ssi、sn;break;?case2:s13+=ssi、sn;break;case3:s23+=ssi、sn;break;case4:s33+=ssi、sn;break;?break;?case5:?switch(ssi、sid)?case1:s04+=ssi、sn;break;?case2:s14+=ss

21、i、s"break;case3:s24+=ssi、sn;break;?case4:s34+=ssi、sn;break;?;?break;?voidmenu()?intw,c;doputs(”tt * * * * * 菜单* * * *puts("tt1、查瞧每人每种产品得销售额n")puts("tt2、按销售额对销售员排序(销售员代号)n");)n")puts(tt3、对每种产品总销售额从高到低排序(产品代号与销售额puts("tt4、输出统计报表n");puts("tt5、退出n");puts

22、(ntt*n”);printf("请选择(1-5):b");scanf(”d",&c);if(c<1IIc>5)错误输入则重新获取输入w=1;getchar);elsew=0;while(w=1);switch(c)/根据输入实现相应函数调用case 1detail();break;每个销售员每种产品得销售额统计case 2 :seller();break;case3:product();break;case4:total);break;case5:exit(0);voiddetail()/显示销售情况?nti,;for(i=0;i4;i+)/遍历销售员?printf(t%d号销售员销售情况:n",i+1);?prifor(j=0;j;j+)/按销售员分类遍历所有产品并显示信息ntf("tt%d号产品销售数量:%dn",j+1,sij);hoice();voi dsell er ()nti,

温馨提示

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

评论

0/150

提交评论