销售管理系统课程设计报告_第1页
销售管理系统课程设计报告_第2页
销售管理系统课程设计报告_第3页
销售管理系统课程设计报告_第4页
销售管理系统课程设计报告_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

51-/NUMPAGES511设计内容和要求1.1治理系统的进展及现状治理信息系统是现代信息治理工作不可缺少的一部分,是适应现代高科技信息治理尺度的要求、推动信息治理走向科学化、规范化的必要条件。只有信息治理规范了,才能给人们提供更好的生活环境及便利的生活空间。治理信息系统是一个能进行治理信息的收集、传递、加工、保存、维护和使用的系统。治理信息系统功能包括:信息收集、信息存储、问题处理及信息输出、信息治理。现代社会、社会化趋势的扩大和社会产品需求使企业在生产经营活动中涉及的内外部信息积聚膨胀,随着科学技术突飞猛进和生产迅速进展,使人类知识量增长速度不断加快,信息量的增加,外部环境变化的变快,人工已无法胜任。如何收集足够的信息资源,强有力的信息并加以利用,积极的开发和及时利用信息爆炸有效的信息资源,已成为现代社会的难题。因此必须有一个系统来对这些数据进行治理。1.2需求分析1.2.1背景食品店销售治理系统销售员的代号A.B.C.D产品的代号:面包bread、蛋糕cate、饼干pie、牛奶milk饮料drink1.2.2内容及要求1)强化学习C语言中有关链表及外部文件的内容,独立设计一个销售治理系统。某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:

a.销售员的代号

b.产品的代号

c.这种产品的当天的销售额

2)每位销售员每天可能上缴0-5张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。a.计算上个月每个人每种产品的销售额。

b.按销售额对销售员进行排序,输出排序结果(销售员代号)c.统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)

d.输出统计报表2总体设计思路2.1系统功能简介1)输入销售员的销售信息并将其保存在文件中2)从文件中读取销售员的销售信息3)计算每个人每种产品的销售额

4)按销售额对销售员进行排序,输出排序结果(销售员代号)5)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)

6)输出统计报表2.2总体设计在本软件中,要紧运用函数调用来实现对食品销售的记录和治理。本软件实现了销售信息的记录功能(包括每个销售员每种产品的销售情况)、销售信息查询功能(按销售员查询、按销售总量查询等)和销售信息储存功能,以及输出统计报表的功能,和从文件中读取数据功能等,从而达到对食品销售情况的治理。2.3总体程序模块图按销售额对销售员按销售额对销售员 进行排序 产品销售额产品销售额 读入数据读入数据保存Main()函数输入 输入 查询销售情况 清单 查询销售情况 天数 及销 售员 销售 情况 输出统计表输出统计表 退出退出图2.1总体程序模块2.4总体设计流程图 开始开始 YMenu_select()=1 N YLength=enter(rec);Menu_select()=2Break; NY Salor(rec,length);Break; Menu_select()=3N Y List1(rec,length);Break;Menuselect()=4Menuselect()=4++4 N Menuselect()=5Menuselect()=5List2(rec,length);berak YList2(rec,length);berak NMwnuselt()=6; ; Mwnuselt()=6; Y AA(rec,length)break; ; List3(rec,length);breakList3(rec,length);break Menu_selec_()=7Menu_selec_()=7 NSave(rc,length);Break=7Save(rc,length);Break YMenuselect()=8Menuselect()=8 l NMenu_select=9Length=load(rec)break;Menu_select=9Length=load(rec)break Y ; YEExit(0);图2.2总体设计流程3系统功能模块设计3.1Main()主函数模块主函数是程序入口,采纳模块化设计。首先在主程序中打印出主菜单界面,将会显示出八个功能函数,作为进入系统操作的一种方式,选择相应的代号便会进入相应的功能操作,当选择“000”时便会退出操作。 图3.1主菜单界面3.2enter()输入清单函数模块本函数先通过system(“cls”)函数将主菜单界面清除;然后依照定义的清单天数输入销售员代号及各产品的销售量,并通过for函数将输入的内容存入结构体数组中,然后退出该模块。图3.2输入清单函数模块图3.3输入清单函数流程3.3保存模块该模块调用fopen函数将其保存在文件中。假如函数带回一个空指针,则不能打开该文件,退出;保存成功后就会关闭文件,并显示保存成功。然后按任意键便会接着运行程序。图3.4保存数据界面图3.5保存函数流程3.4读入数据模块该模块采纳指针函数*fp,用fscanf对文件中的数据进行调用,现在屏幕会显示“恭喜您已成功从文件中读出数据”,然后便可运用文件中的数据进行下面的操作。 图3.6读入数据界面图3.7读入数据流程3.5查询销售员销售额模块该模块采纳数组函数实现对销售员销售情况的调用,采纳if条件函数可直接输出查询情况,只需输入销售员代号即可。 图3.8查询销售员销售额界面图3.9查询销售员销售额流程3.6排序模块此部分用voidlist1()函数,首先定义两个数组,然后利用for结构实现函数体的循环,用for的条件函数实现销售员销售额的排序。图3.10排序界面图3.11排序流程3.7统计表模块定义两个数组,通过对数组附初值实现对每一种产品销售额的求和以及产品的排序。图3.12统计表界 图3.13统计表流程4程序调试及分析1)开始时不能从文件中读取数据,每次输入的数据只能在本次函数调用中使用,下次仍需重新输入,问题出在没有对附地址栏即fscanf(fp,"%10d%7d%7d%7d%7d%7d",t[i].name,t[i].a1,t[i].a2,t[i].a3,t[i].a4,&[i].a5,修改后加入地址栏便能从文件中直接读入数据。2)在Main()函数中开始少一个case结构,导致在voidlist2函数中“getch”未定义,加入case5:a(rec,length);break;后便能正常运行。3)在清单输入模块中,开始只能输入一天的销售记录,缘故是少了循环的程序编译,添加for(j=0;j<num;j++)和 for(i=0;i<4;i++)后便能由外界定义输入清单的天数。4)在求销售产品总和的模块中,忽略了将最后结果返回sum,虽不阻碍程序的运行,但这也是程序的不完善之处。5总结及体会在做课程设计往常,我对销售治理信息系统的理解只是停留在理论和知识的水平上,并没有认确实去操作实践。只是所谓的“纸上谈兵”而已,缺乏实际的操作技术,缺乏对所学知识的融会贯穿。通过这次课程设计,我通过自学、在同学们的关心下完成了《食品店销售治理系统》的设计与开发。在课程设计的整个过程中我遇到了专门多的问题,但我都在慢慢地学习过程中一点一点地克服了。同时我发觉真正学好、学明白一门新的语言是有难度,值得庆幸的是,在此期间指导老师给了我专门大的关心和鼓舞。使我通过这次课程设计,同时又学习了专门多在平常考试过程中学习不到的知识和自己动手的能力。在边自学边设计的过程中,我查阅了专门多的资料,请教了许多的同学和老师。在刚开始编程的时候依旧不能得心应手。在一次又一次的修改过程中不断地进步和提高,然而依旧有些功能我无法把它用到我的程序中来,真有点遗憾,同时由于这次时刻比较紧,无法更深入地去钻研这门课程。这次课程设计是我本学期所学知识的综合应用,使我对一学期所学的内容有了更加深刻的认识,使得所学的知识得到融会贯穿,得到了往常学习任何一门课都没有的提高与进步,对我来讲是一次专门好的锻炼,这不仅把往常所学的知识再重温习一遍,而且又学会了一门新的语言。总之,通过本次课程设计,我最终完成了《食品店销售治理系统》的课程设计。在做本课程的过程中,我不仅更加深刻的体会了VC这门语言,还对结构体数组有了比较熟练的了解,更重要的是学到了专门多编程思想。我会在以后的学习中去更加熟练的掌握C语言。致谢在往常,自己在上课时没有专门好的听课,下来后也没有专门好的去实践操作。致使自己的编程水平与同学们相差专门远。通过此次实践,在老师和同学的关心下,我的编程能力有了一定的提高。尽管没有达到理想中的效果,但较我自身而言,差不多有了较大的进步。事实上学习也能体现出团结的力量,假如班上的同学都只顾自己学习,同学之间遇见什么问题也不互相讨论,只靠只身的力量去解决学习中遇到的问题在专门多的时候差不多上专门难实现的。在此次课程设计中,同学们让我再次体会到了团结的力量,在此我感谢同学们对我的关心。在往常,老师给我的感受都总是高高在上,然而在这次课程设计时。指导老师的行动完全让我改变了对老师的成见。在课程设计的过程中,我遇到了许多专门浅显的问题,在询问老师时,他们是那样的认真讲解,遇到实在不明白得问题,他们会手把手的讲教,直到我们弄明白为止。在此我感谢老师对我们孜孜不倦的教诲。最后,我再次向关心我的老师和同学致上最真挚的谢意。感谢他们对我的关心!同时在以后的学习当中,我会加倍的努力,接着发扬同学们的这种互帮互助的精神!参考文献[1]谭浩强等.C语言程序设计教程.北京:高等教育出版社,1997.[2]谭浩强.C程序设计.第2版.北京:清华大学出版社,1999.[3]郭浩志.C语言程序设计.北京.北京邮电大学出版社,2005.[4]林学焦.TurboC2.0用户手册.北京.学苑出版社,1993.[5]谭浩强、张基温.C语言程序设计教程.北京:高等教育出版社,2006.源代码#include<stdio.h>/*输入输出函数*/#include<stdlib.h>/*通用应用程序函数*/#include<string.h>/*字符串函数*/#include<ctype.h>/*字符操作函数*/typedefstruct/*定义结构体变量*/{ intname;inta1;inta2;inta3;inta4;inta5;}RECODE;intmenu_select();/*声明函数*/intenter(RECODEt[]);/*声明函数*/voidsalor(RECODEt[],intn);/*声明函数*/intsum(RECODEt[],intn,intm);/*声明函数*/voidlist1(RECODEt[],intn);/*声明函数*/voidlist2(RECODEt[],intn);/*声明函数*/voidlist3(RECODEt[],intn);/*声明函数*/voidsave(RECODEt[],intn);/*声明函数*/intload(RECODEt[]);/*声明函数*/inta(RECODEt[],intp){ inti,q,w[5]={0,0,0,0,0}; printf("请输入你查找的人的代号");scanf("%d",&q); for(i=0;i<4;i++) t[i].name=i+1; for(i=0;i<p;i++)if(q==t[i].name) { w[0]=w[0]+t[i].a1;w[1]=w[1]+t[i].a2;w[2]=w[2]+t[i].a3;w[3]=w[3]+t[i].a4;w[4]=w[4]+t[i].a5;printf("%d的销售情况bread:%dcake:%dpie:%dmilk:%ddrink:%d\n",q,w[0],w[1],w[2],w[3],w[4]); }}main()/*主函数*/{ RECODErec[600];intlength;system("cls");/*清屏*/for(;;)/*无限循环*/ { switch(menu_select())/*依照用户的选择推断该调用哪个功能函数*/ { case1:length=enter(rec);break;case2:salor(rec,length);break;case3:list1(rec,length);break;case4:list2(rec,length);break; case5:a(rec,length);break;case6:list3(rec,length);break;case7:save(rec,length);break;case8:length=load(rec);break;case0:exit(0); } }}intmenu_select()/*菜单函数*/{ intn; printf("食品销售治理系统\n\n");printf("主菜单\n\n");printf("\t\t001输入清单的天数\n");printf("\t\t002销售员月销售额\n");printf("\t\t003按销售额对销售员排序\n");printf("\t\t004产品销售额\n"); printf("\t\t005查询销售情况\n");printf("\t\t006统计表\n");printf("\t\t007保存\n"); printf("\t\t008直接读入数据\n");printf("\t\t000退出\n");printf("end\n\n");printf("请选择序号从000至006:");scanf("%d",&n); if(0<n<8)system("cls");/*清屏*/returnn;}intenter(RECODEt[])/*清单输入函数*/{ inti,num,j,z=0;system("cls");/*清屏*/ { printf("输入所要写入的清单的天数:");/*输入所要写入的清单的天数*/scanf("%d",&num);printf("销售员代号breadcakepiemilkdrink\n");for(j=0;j<num;j++) { for(i=0;i<4;i++)/*将所输入的条数存入结构体数组中*/ { printf("\n\n\n");scanf("%d%d%d%d%d%d",&t[i].name,&t[i].a1,&t[i].a2,&t[i].a3,&t[i].a4,&t[i].a5); z++; }printf("\n\n\n\n");}}returnz;}voidsalor(RECODEt[],intn){ inti,s;intb1=0,b2=0,b3=0,b4=0,b5=0;printf("输入所要查看的售货员的代号(1-4):");scanf("%d",&s);/*输入所要查看的售货员的代号*/for(i=0;i<n;i++)/*对每种产品的销售额求和*/if(t[i].name==s) { b1+=t[i].a1;b2+=t[i].a2;b3+=t[i].a3;b4+=t[i].a4;b5+=t[i].a5; }printf("销售员代号breadcakepiemilkdrink\n");printf("\n");printf("%-10d%-10d%-10d%-7d%-7d%-7d",s,b1,b2,b3,b4,b5);printf("\n按任意键接着");getchar();}intsum(RECODEt[],intn,inte){ inti,sum=0;for(i=0;i<=n;i++)/*求销售产品的总和*/if(e==t[i].name) { sum+=t[i].a1;sum+=t[i].a2;sum+=t[i].a3;sum+=t[i].a4;sum+=t[i].a5; }returnsum;}voidlist1(RECODEt[],intn){ inti,j,s;intc[4],m[4];/*定义两个数组*/ system("cls");/*清屏*/for(i=0;i<4;i++)m[i]=i+1;for(i=0;i<4;i++)c[i]=sum(t,n,m[i]);for(i=0;i<4;i++)/*按销售员的销售额进行排序*/for(j=i+1;j<4;j++)if(c[i]<c[j]) { s=m[i];m[i]=m[j];m[j]=s;s=c[i];c[i]=c[j];c[j]=s; }printf("销售员的销售额(从高至低)\n");for(i=0;i<4;i++)/*输出销售员代号*/printf("%d\n",m[i]);printf("\n按任意键接着");getchar();}voidlist2(RECODEt[],intn){ inti,j,s;intc[5],m[5];for(i=0;i<5;i++)/*产品代号*/m[i]=i+1;for(i=0;i<5;i++)/*给数组赋初值*/c[i]=0;for(i=0;i<n;i++)/*分不对每一种产品的销售额求总和*/for(j=0;j<5;j++) { if(m[j]==t[i].a1)c[j]+=t[i].a1;if(m[j]==t[i].a2)c[j]+=t[i].a2;if(m[j]==t[i].a3)c[j]+=t[i].a3;if(m[j]==t[i].a4)c[j]+=t[i].a4;if(m[j]==t[i].a5)c[j]+=t[i].a5; }for(i=0;i<5;i++)/*按销售额对产品排序*/for(j=i+1;j<5;j++) { if(c[i]<c[j]) { s=c[i];c[i]=c[j];c[j]=s;s=m[i];m[i]=m[j];m[j]=s; } }system("cls");/*清屏*/printf("产品的代号\n"); printf("10cake20bread30pie40milk50drink\n");for(i=0;i<5;i++)/*输出产品的代号和销售额*/printf("\n\t\t%-10d%-10d\n",m[i]*10,c[i]);printf("按任意键接着\n");getch(); system("cls");}voidlist3(RECODEt[],intn){ inti,j,sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0;intc[4],b1[4]={0},b2[4]={0},b3[4]={0},b4[4]={0},b5[4]={0};system("cls");for(i=0;i<4;i++)c[i]=sum(t,n,i+1);/*求每个人的总销售额*/for(i=0;i<4;i++)sum0+=c[i];/*所有产品的销售额*/for(i=0;i<n;i++)/*求每个人每种产品的总销售额*/for(j=0;j<4;j++) { if(j+1==t[i].name) { b1[j]+=t[i].a1;b2[j]+=t[i].a2;b3[j]+=t[i].a3;b4[j]+=t[i].a4;b5[j]+=t[i].a5; } }for(i=0;i<4;i++)/*每种产品的总销售额*/ { sum1+=b1[i];sum2+=b2[i];sum3+=b3[i];sum4+=b4[i];sum5+=b5[i]; }printf("销售额清单\n\n\n");printf("产品的代号\n");printf("breadcakepiemilkdrink总和\n\n");for(i=0;i<4;i++)printf("%-10d%-10d%-10d%-10d%-10d%-10d%-10d\n",i+1,b1

温馨提示

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

评论

0/150

提交评论