《C语言课程设计报告(销售管理系统).pdf》由会员分享,可在线阅读,更多相关《C语言课程设计报告(销售管理系统).pdf(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 C 语言课程设计报告(销售管理系统)学院:班级:学号:姓名:2 目录一、销售管理系统的设计目的3二、需求分析4三、概要设计5四、详细设计6五、主要原程序代码8六、试分析过程描述调16七、总3 结17一、销售管理系统的设计目的1、通过本课程设计,培养上机动手能力,使学生巩固C语言程序设计 课程学习的内容,掌握工程软件设计的基本方法,强化上机动手能力,闯过编程关;2、学会用 c 语言程序设计来设计销售管理系统设计;3、为后续各门计算机课程的学习打下坚实基础。4 二、需求分析1)设计题目分析题目:销售管理系统2)设计要求分析(1)用 c 语言实现程序设计(2)利用结构体进行相关信息处理(3)画出
2、查询模块的流程图(4)系统的各个功能模块要求用函数的形式实现(5)界面友好(良好的人机互交),程序要有注释。3)系统功能需求分析(1)计算上个月每个人每种产品的销售额(2)按销售额对销售员进行排序,输出排序结果(销售员代号)(3)统计每种产品的总销售额,对这些产品按从高到低的顺序,输出排序结果(需输出产品的代号和销售额)(4)输出统计报表5 三、概要设计1)总体设计本程序要设计销售管理系统,首先要设计一个选择函数,用来选择运行其他各个函数。接着要分别设计输入数据函数,各种统计函数和各种排序函数,用以实现各种统计和排序功能,最后要设计一个数据请空函数和统计表输出函数,得到程序设计要求的表格。2)
3、系统流程图6 四、详细设计1)详细设计思路(1).main()主函数设置了程序的流程,结束程序。(2).fprintf()选择函数选择所想运行的各个函数.(3)mulu()输入函数输入便条的数据.输入记录读取文件保存到文每位销售员的销售额额每种产品的销售额按销售额对销售员排序输出统报表退出管理7(4).arg()文件的数据输入函数多次输入数据(5).output1()统计函数每个人的每种产品销售额的统计(6).Output2()总额排序函数按销售额对商品进行排序(7).output3()总额统计函数统计每种产品的总额(8).Output4()售员排序函数按照销售额对售员排序函数(9).save
4、()统计报表函数统计商品总额2)工作流程图8 mamenif(choice=5)case 1;fcase 2;fcase 3;fcase 4;fscanf(%d,&choice);switch(choice)for(i=0;breb结9 五、主要源程序代码1)源程序清单(1)计算每个人每种产品的销售额。(2)按销售额对销售员进行排序,输出排序结果(销售员代号)(3)统计每种产品的总销售额,按从高到底的顺序,输出排序结果(需输出产品代号,销售额)/1.首先,要定义每个人,每种产品,销售额数组如int i,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0;in
5、t c4,b14=0,b24=0,b34=0,b44=0,b54=0,用 for 循环来求每个人的总销售额:for(i=0;i4;i+);用 for 循环来求每个人每种产品的总销售额:for(i=0;in;i+),for(j=0;j4;j+);在用 for 循环每种产品的总销售额:for(i=0;i4;i+),之后则在系统界面输入销售员代号,产品代号,产品代号用 printf即可实现,用 sum对每个销售员的销售额求和,用 system(cls)来录入信息,然后输出头标(如销售员代号,产品代号,销售额等,用printf实现),之后开始查询,用 for语句来。2.此部分要分两部分其一是,每位销售
6、员销售额;其二是,按销售额对销售员排序。在求每个销售员销售额时也是要先定义销售员代号,产品代号,销售额。接着是则是用输入要查询的销售员的代号,用scanf(%d,&s)来记录输入销售员代号的信息,然后输出头标(如销售员代号,产品代号,销售额等,用 printf实现),之后开始查询,查询信息首先需要一个for 语句来,实现对已存入数据的 所 有 查 询for(i=0;in;i+),关 键 内 容 是 查 询 销 售 员 代 号 时 用if(strcmp(name,ti.name)=0),找出与输入的销售员相同的储存信息,查找完成后则把该销售员的所有信息全部输出。上面是求每个销售员销售额,接着是要
7、在上面的基础上排序。首先要定义两个数组如:int c4,m4,接着用for循环(for(i=0;i4;i+);for(j=i+1;j4;j+))对销售员的销售额进行排序,再用 if语句来求,最后是输出用printf(%dn,mi)实现。3.也一样首先要定义数组,接着用 ci=sum(t,n,i+1)求每个人的总销售额,再用 for循环,再用 sum0+=ci 对所有产品的销售额求总,用for 循环对每个人每种产品的销售额求总销售额,再用 for 循环实现每种产品的总销售额,然后输出头标(如销售员代号,产品代号,总销售额等,用printf实现)即可。10 2)函数#include#include
8、#define max 620struct goodsint p_num;int num;int g_num;smax;struct personsint num7;p6,w;int n;main()int input(),output1(),output2(),output3(),output4();int arg(),mulu();int save();printf(nnn ttt *THE PROJECT*nnn);printf(Please input the informations:(over to 0)nnn);n);for(n=0;nmax;n+)scanf(%d,&sn.p_
9、num);if(sn.p_num=(0)break;else scanf(%d%d,&sn.g_num,&sn.num);printf(-n);mulu();11 int mulu()int choice;arg();do printf(nn ttt *THE PROJECT*nn);printf(the g_mon of each goods every people products last monthn);printf(the people in order by g_mon and output the result by p_num n);printf(the total g_mo
10、n,output the result in order from high to lown);printf(the report form of goods nn);printf(nn);printf(Please Choose(0-4):);scanf(%d,&choice);switch(choice)case 1:output1();break;case 2:output2();break;case 3:output3();break;case 4:output4();break;case 0:exit(0);while(choice!=0);int arg()int k,a,j;fo
11、r(k=1;k=5;k+)p0.numk=k;for(a=1;a=6;a+)pk.numa=0;for(k=1;k=4;k+)pk.num0=k;for(k=1;k=4;k+)for(a=1;a=5;a+)for(j=0;jn;j+)if(sj.p_num=k&sj.g_num=a)12 pk.numa=pk.numa+sj.num;for(a=1;a=5;a+)for(k=1;k=4;k+)p5.numa=p5.numa+pk.numa;for(k=1;k=5;k+)for(a=1;a=5;a+)pk.num6=pk.num6+pk.numa;int output1()int i,k;pri
12、ntf(*The condition of everyones g_mon last month:*nn);printf(g_num np_numt);for(k=1;k=5;k+)printf(%dt,p0.numk);printf(nn);for(i=1;i=4;i+)for(k=0;k=5;k+)printf(%dt,pi.numk);printf(nn);mulu();int output2()int i,r,j;for(i=1;i4;+i)r=i;for(j=i+1;j=4;j+)if(pr.num6pj.num6)r=j;if(r!=i)w=pi;pi=pr;pr=w;13 pri
13、ntf(nnnnnn*Order of people by goods sum*nn);printf(p_num tsum_mon n);for(i=1;i=4;i+)printf(%dtt%dn,pi.num0,pi.num6);mulu();int output3()int k,i,r,t;for(k=1;k5;k+)r=k;for(t=k+1;t=5;t+)if(p5.numrp5.numt)r=t;if(r!=k)for(i=0;i=5;i+)pi.num6=pi.numk;pi.numk=pi.numr;pi.numr=pi.num6;printf(nnnnn*Order of ea
14、ch good by total sum*nn);printf(g_num sum_monn);for(k=1;k=5;k+)printf(%dtt%d n,p0.numk,p5.numk);mulu();int output4()int i,k;int flage=0;printf(ntt*Report forms of goods*nnn);printf(g_num np_numt1t2t3t4t5tsumnn);for(i=1;i=4;i+)for(k=0;k=6;k+)printf(%dt,pi.numk);printf(nn);14 printf(totalt);for(k=1;k=
15、6;k+)printf(%dt,p5.numk);if(flage=0)save();flage=1;printf(nnThe information has been saved successfully!-(File:);mulu();int save()FILE*fp;int i,k;if(fp=fopen(,w)=NULL)printf(nCan not open the file,please press any key to escape!);exit(1);fprintf(fp,g_num rnp_numt1t2t3t4t5tsumrn);for(i=1;i=4;i+)for(k
16、=0;k=6;k+)fprintf(fp,%dt,pi.numk);fprintf(fp,rn);fprintf(fp,total );for(k=1;k=6;k+)fprintf(fp,%dt,p5.numk);fclose(fp);15 4)执行结果16 17 六、调试分析过程描述1)主窗体中分为N个功能键:1.输入销售额;2存储;3.读取;4.显示便条清单;5.每位销售员的销售额;6.每种产品的销售额;7.按销售额对销售员排序。2)设计中存下的问题及解决办法问题:输入错误解决方及效果;改正输入错误问题:标点符号在输入的时候,使用的是中文输入法,这种错误一般都难以发现,让修改的时候找不到目
17、标。解决方法:用“替换”。如果程序中的 error很多,不管 error是什么,先将标点替换成英文的标点。18 七、总结1.该课程设计的销售管理系统实现了对销售的各方面的管理,同时也对各项项目进行排序,最后输出统计表。2.经过 C语言课程设计实践学习,使我对 c 语言有了更进一步的认识和了解,板通过实践,我也发现我的好多不足之处,首先是在程序输入上还不够熟练,经常按错字母,通过学习也有所改进;再有对c 语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c 语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。3 我认为要学好 c 语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固我的知识。只有这样我们才能成为合格的计算机人材。