版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计基础及数据结构课程设计设计题目:销售管理系统系(院):经济管理学院专 业:信息管理与信息系统班 级:值萱姓 名匕学号:姓 名匕学号:姓 名匕学号:姓 名匕学号:指导教师:学年学期:2013 2014 学年 第1学期2013年12月 16日课程设计任务书课程设 计题目商品销售管理系统课程设 计目的(1)培养学生正确的设计思想,将理论与实际相结合,严肃认真、 实事求是的科学态度和勇于探索的创新精神。(2)培养学生综合运用所 学知识与生产实践经验,分析和解决工程技术问题的能力。(3)通过课 程设计实践,建立系统设计的整体思想,锻炼编写程序、调试程序的能 力,学习文档编写规范,培养独立学习、吸
2、取他人经验、探索前言知识 的习惯。同时,C+语言程序设计课程设计可以充分弥补课堂教学及普 通实验中知识深度与广度有限的缺陷,更好地帮助学生从全局角度把握 课程体系。课程设 计环境硬件:P4以上计算机软件:Visual C+/Turbo CMicrosoft Windows XP课程设 计任务 和要求任务:用C语言对学生成绩进行编程;要求:1、要充分认识C+语言程序设计课程设计的重要性,认真做好 各项准备工作;既要虚心接受老师的指导,乂要充分发挥主观能动性, 要结合课题,独立思考,努力钻研,勤于实践,勇于创新;收集资料, 自学相关知识,拓宽知识面,根据课题的基本要求,自行完成设计任务。 要按时、
3、独立完成规定的工作任务,不弄虚作假,不抄袭他人;严格遵 守学习和劳动纪律,不无故缺席,不迟到早退,不懈怠,不拖拉,要积 极主动;严格要求自己,树立严肃、严密、严谨的科学态度,按时、按 质、按量完成。工作进度计划序号起止日期工作内容012013.12.16-2013.12.17查找资料,熟悉操作环境,开始编写程序022013.12.18-2013.12.20编写程序,调试程序032013.12.21-2013.12.23写实验报告指导老师签字(盖章):年月日引言11需求分析12系统设计12.1 总体方案设计22.2 算法设计22.3 实现方法32.4 流程图33代码编写44 程序运行及调试94.
4、1 程序调试94.2 运行与测试11总结15致谢16参考文献17目前,俏售管理系统在企业管理中逐步占据重要地位,企业销售管理成为企 业经营管理的核心内容之一,它的特点是信息量大、更新速度快、要求信息反馈 速度、准确。箱售管理系统的应用,解决了人工管理过程中的管理低下、数据部 准确、管理部及时等一系列问题;进一步提高了企业经营运作的速度,提升企业 的管理水平、提高企业的经济效益,事企业的箱售管理更加科学、合理;使企业 能够随着市场的变化而随时调整自身的销售计划,并在瞬息万变的市场竞争中立 于不败之地。随着商品因为生活,商业等方面的增多,商业的发展也日益的迅猛, 由于顾客量的增多,商品出入时间的广
5、泛,商场收益的日益增多,仅仅依靠手写 的老式输入记账法,无法满足商场的需求的,同时也浪费人力和时间。开发这个 系统,目的就在于能够更好的对商品信息情况,商品箱售情况,销售统计等进行 精确的修改查询,以便更好的完善和更新商品销售信息。本系统采用Turbo C 编写,设计一个C语言程序一一销售管理系统,系统以菜单方式工作,录入信息 用文件保存,修改更新相关销售信息,计算每个人每种产品的销售额,统计每种 产品的总销售量,查询每种产品的销售信息。本系统具有良好的灵活性、开放性, 用户可以方便地进行信息管理,改变现在的管理内容,该系统还为客户提供了友 好的界面。关键词:销售管理系统,信息管理,Turbo
6、 C引言随着计算机的广泛应用以及计算机技术的迅猛发展,基于计算机的销售管理 系统将逐步代替传统的管理模式。计算机检索迅速、可靠性高、存储量大、保密 性好、寿命长、成本低等优点,极大的提高了销售管理效率。为了更高效的完成 销售方面的工作,也为了有更多的时间来处理更多的别的事务,用计算机管理销 售信息代替手工管理是大势所趋,企业也将因此摆脱原有的管理模式,完全进入 信息化销售管理。1需求分析在当今全球信息化大潮流中,互联网(即因特网一一Internet)异军突起, 计算机发展得越加迅猛,给20世纪末的人类社会增添了无限的活力。现今社会 是信息化的大社会。与人们的生活息息相关。传统的手工管理方式现在
7、已经逐渐 被信息化管理所取代。商品销售管理系统对超市商品管理有着极其重要的作用,传统的手工管理方 式现在已经逐渐被信息化管理所取代,但现在大多数商品企业的销售管理,只是 实现简单的电脑存储、计算操作,随着计算机的快速发展,只是简单的电脑存储、 计算操作,已经不能满足企业透明化的需求。商品销售管理系统实现的功能如下:1 .输入基本数据和销售数据:基本数据包括产品数据,销售数据包括销售 员编号、销售产品编号、销售产品数量。2 .编辑数据:可添加、删除、修改产品数据销售数据。3 .计算:计算每个销售员的销售总额;计算每种产品的销售数量及销售额。4 .查询:可按销售员的编号查询销售情况;也可按产品编号
8、查询销售情况。5 .浏览:可浏览输入、修改或计算的数据。6 .退出:退出系统2.1 总体方案设计按系统分析的功能要求将系统划分为以下几个主要功能模块,如图2.1o2.2 算法设计算法:第一步:进入系统,按界面提示选择06按键,进入所需要的界面。第二步:若选择1进入,按系统提示进行初始化并输入商品信息;若选择2 进入,按系统提示对已有商品信息进行修改更新;若选择3进入,进入信息删除 界面,输入商品号修改相应商品信息;若选择4进入销售量统计界面,按要求输 入记录,对不同商品的销售量进行统计;若选择5进入俏售量修改界面,修改不 同销售员的销售量;若选择6,则进入浏览界面中,对已输入数据进行浏览;选
9、择0则退出程序。第三步:完成所需要求,退出系统。图2.1系统功能模块图2.3实现方法分别通过顺序结构、选择结构,按照顺序,通过判断输入数据是否满足条件 进行操作,同时调用C语言本身具有的一些函数,如struct () , getch(), .sleep (), strcmp()等等函数,在关键的地方进行选择判断,从而保证系统的进 行与操作正确。2.4流程图1、主函数main。流程图while(1);clrscrO ;清屏幕welcome ();输出“Please select l-6-0-menu=:”提示选择输入menuswitch(menu)1输入货物记录2编辑货物数据3删除货物记录4插入
10、数量记录5修改数量记录6浏览汇总信息0退出图2. 2主函数流程图2、输入数据函数void goods。流程图void good;函数声明clrscrO ;清屏幕输出子菜单输入N0switch(M)1输入货物编号2输入货物名称3输入货物价格ANY KEY返回主界面图2.3输入数据函数流程图3、输入数据函数void modify。流程图void modify ();函数声明clrscr ();清屏幕输出子菜单输入NOswitch(M)1输入货物编号2输入新货物编号3输入新货物名称4输入货物新价格ANY KEY返回主界面图2.4输入数据函数流程图3代码编写3. 1源程序/*#inckide <
11、stdio.h>#include <stdlib.h>/*I/O 函数*/*其他说明主要是为了应用exit。函数*/for(n=0;n<32;n+)if(goodsn.id=i&&goodsn.id!=0)printf(,NO:%dnl,goodsn.id);printf(HNAME:%sn,);printf(Hprice:%dn,goodsn.price); return n;)printf(HiiInput no error.nH);return -1;void goods_del(void)int n;page_title(H
12、Delete goods information");if(n=search_id()!=-1)(goodsn.id=0;printf(HnGoods been deleted.nn);/*输入数据*/*货物销售记录删除*/*提示删除成功*/return-confirmO;void goods_edit(void)/*货物销售记录编辑*/int n; page_title(HEdit goods information"); if(n=search_id()!=-1) ( printf(HnPlease input new information:nNo:H);/*输入新的
13、记录*/scanf(1,%d,&goodsn.id); printf(nName:H); scanf(H%s,&); printf(nPrice:H); scanf(,%d,&goodsn.price); ) return_confirm(); 3.4 amount 0 函数/*货物销售数量输入*/void amount_input(void)int s,n,t;page_title(HInsert sales amount");printf("nPlease select NOnl-SMl 2-SM2 3-SM3n"
14、);scanf("%d",&s);for(n=0;n<32;n+)if(goodsn.id!=0)printf(HNo:%d Name:%s amount:n,goodsn.id,);scanf("%d",&t);switch(s)(case 1 : goodsn.SMl=t;break;case 2 : goodsn.SM2=t;break;case 3 : goods n.SM3=t;break;)return-confirmO;void amount_edit(void)/*货物销售数量编辑*/int n
15、;page_title(HEdit amount”);if(n=search_id() !=-1)(printf(MSMl:%dSM2:%dSM3:%dn",goodsn.SM 1 ,goodsn.SM2,goodsn.SM3);printf(HnPlease input new amount:nSMl:H);scanf(H%d,&goodsn.SM 1);printf("SM2:");scanf("%d",&goodsn.SM2);printf(“SM3:”);scanf("%d",&goodsn.
16、SM3);return_confirm();3.5 sort ()函数/*对储售数据进行排序整合*/void sort_it(char nn)int n,m,p,x,t32;for(n=0;n<32:n+)switch(nn)case T : tn=goodsn.id;break;/*货物编号显示*/case '2': tn=goodsn.SMl;break; /*销售员销售记录的汇总与显示*/case 31: tn=goodsn.SM2;break;case 4 : tn=goodsn.SM3;break;case 5 : tn=goodsn.SMl+goodsn.SM
17、2+goodsn.SM3;break;)for(n=0;n<32;n+)(x=0;p=-l;for(m=0;m<32; m+)if(tm>x)(x=tm;p=m;)tp=-l;INDEXn=p;3. 6 browser ()函数/*浏览基本信息和销售数据*/void browser(void)int n,x;char k;sort_it('l');while(l)(page_title(HBROWSEH);printf(nPlease select the number of sortnH);printf("NotNametPricetSMltSM2
18、tSM3tsumn"); /* 信息汇总与显示*/ for(n=0;n<32;n+)if(INDEXn!=-l)x=INDEXn;printf(,%dt%st,goodsx.id,); /*所有信息的汇总显示*/printf(M%dt%dt,goodsx.price,goodsx.SMl);printf("%dt%dt",goodsx.SM2,goodsx.SM3);printf(n%dn'goodsx.SMl+goodsx.SM2+goodsx.SM3); J)k=getch();if(k<'6'&
19、;&k>'0,) sort_it(k);else if(k=,O,) break;else continue;3. 7 main ()函数/*主函数*/void inain(void)menu: page_title(HMENUH);printf(HPIease input the number»nH);printf(" 1 INSERT GOODSn2 MODIFY GOODSXn");printf("3 DELETE GOODSn4 INPUT GOODS AMOUNTn5 MODIFY GOODS AMOUNTS")
20、;printf("6 BROWSE GOODS INFORMATIONXnO EXIIAn");/*输入销售货物记录*/ /*编辑销售货物记录*/ /*删除销售货物记录*/ /*输入销售数量记录*/ /*编辑销售数量记录*/ /*浏览汇总信息*/*退出*/switch(getch()case T : goods_new();break;case 2 : goods_edit();break;case 3 : goods_del();break;case 4 : amount_input();break;case 5 ' : amount_edit();break;c
21、ase 6 : browser();break;case 'O': exit(O);goto menu;)4程序运行及调试4.1程序调试先进行人工检查,即静态检查。在写好一个程序以后,不要匆匆忙忙上机, 而应对纸面上的程序进行人工检查。这一步是十分重要的,它能发现程序设计人 员由于疏忽而造成的多数错误。为了更有效地进行人工检查,所编的程序应注意力求做到以下几点:应当采 用结构化程序方法编程,以增加可读性;尽可能多加注释,以帮助理解每段程序 的作用;在编写复杂的程序时不要将全部语句都写在main函数中,而要多利用 函数,用一个函数来实现一个单独的功能。这样既易于阅读也便于调试,各
22、函数 之间除用参数传递数据这一渠道以外,数据间尽量少出现耦合关系,便于分别检 查和处理。在人工检查无误后,才可以上机调试。通过上机发现错误称动态检查。在编 译时给出语法错误的信息,可以根据提示的信息具体找出程序中出错之处并改正 之。应当注意的是有时提示的出错并不是真正出错的行,如果在提示出错的行上 找不到错误的话应当到上一行再找。有时提示出错的类型并非绝对准确,由于出 错的情况繁多各种错误互有关联,因止要善于分析,找出真正的错误,而不要只 从字面意义上找出错信息,钻牛角尖。如果系统提示的出错信息多,应当从上到下一一改正。有时显示出一大片出 错信息往往使人感到问题严重,无从下手。其实可能只有一二
23、个错误。在改正语法错误后,程序经过连接就得到可执行的目标程序。运行程序,输 入程序所需数据,就可得到运行结果。应当对运行结果作分析。看它是否符合要 求。有时.,数据比较复杂,难以立即判断结果是否正确。可以事先考虑好一批“试 验数据”,输入这些数据可以得出容易判断正确与否的结果。可以在计算的输出 结果的程序地方加入一段输出到串口的程序,利用串口窗口可以方便看到结果 的,比仿真的都好和直观。必须考虑周全。事实上,当程序复杂时很难把所有的可能方案全部都试到,选择典型的情况作试 验即可。运行结果不对,大多属于逻辑错误。对这类错误往往需要仔细检查和分析才 能发现。可以采用以下办法:1 .将程序与流程图仔
24、细对照,如果流程图是正确的话,程序写错了,是很容 易发现的。2 .如果实在找不到错误,可以采用“分段检查”的方法。在程序不同的位置 设几个printf函数语句,输出有关变量的值,往下检查。直到找到在哪一段中 数据不对为止。这时就已经把错误局限在这一段中了。不断减小“查错区”,就 可能发现错误所在。3 .也可以用“条件编译”命令进行程序调试(在程序调试阶段,若干printf 函数语句就要进行编译并执行。当调试完毕,这些语句不要再编译了,也不再被 执行了)。这种方法可以不必一一去printf函数语句,以提高效率。4 .如果在程序中没有发现问题,就要检查流程图有无错误,即算法有无问题, 如有则改正之
25、,接着修改程序。5 .有的系统还提供debug工具,跟踪流程并给出相应信息,使用更为方便。总之,程序调试是一项细致深入的工作,需要下功夫,动脑子,善于累积经 验。在程序调试过程中往往反映出一个人的水平,经验和科学态度。希望读者能 给以足够的重视。上机调试程序的目的决不是为了 “验证程序的正确”,而是 “掌握调试的方法和技术”,不要一直依赖仿真器来解决,要学会自己找问题, 这样慢慢自己就会写出错误较少的实用的程序。4.2运行与测试4. 2. 1主菜单显示界面图4.1主菜单界面输入1则执行输入产品数据的功能 输入2则执行修改产品数据的功能 输入3则执行删除产品数据的功能 输入4则执行输入商品销量的
26、功能 输入5则执行修改产品销量的功能 输入6则执行浏览产品销量的功能输入0则退出4.2.2 输入产品数据函数的显示界面c Turbo C/C+ 3. 0 编译器 * Sales Management System - insert goods information - NO:1 NAMEunauJin price:5 press any key return to nenu图4.2输入产品信息输入成功后,按任意键返回子主菜单。4.2.3 修改产品数据界面Turbo C/C+ 3. 0 编译器* Sales Management System图4.3修改产品信息-Edit goodsinfor
27、mation 一?lease inputgoods number:NO:1NAME;mauJin price:5& 1 e c e ; n A pNUNPJtnew infornation :press any key returti to nenu修改成功后,按任意键返回子主菜单。4.2.4 删除产品数据界面Turbo C/C+1- 3. 0 编译器* Sales Management System - Delete goods information -Please input goods number:3NO: 3NAME:lianpenprice:10Guuds been de
28、Leted- press any key return to nenu图4.4删除产品信息删除成功后,按任意键返回子主菜单。4.2.5输入销售数据界面图4.5输入销售数据 输入成功后,按任意键返回子主菜单。4. 2. 6修改销售数据界面Turbo C/C4+ 3. 0 编译器* Sales Managenent System-Edit amount -Please input goods number:1NO:1NAME:naojinprice=8SM1:10 SM2:0 SM3:0Please input new amount:SMI:10SM2:30SM3:21pvcss cuiy key
29、 return to nenu图4.6修改储售数据修改成功后,按任意键返回子主菜单。4. 6.7销售信息浏览Turbo C/C4+ 3. 0 编译器图4.7浏览销售信息* Sales Management System l BROWSE -Please Noselect the numherNane Price niaobao 3 nao jin 8soi'tSM2 0 30S3 1mU01S36该系统以商品销售管理为背景,实现了管理的多种功能,并且有一定的可行 性和安全性,确保了各项指定功能得以运行。本系统以基本函数、结构体、枚举 性、文件以及链表等多方位知识贯穿实现。通过此次程序设
30、计实践,可以对所学 知识的综合运用,也是程序设计得以提高的表现。通过此次编程培养了我结构化 程序设计的思想,加深了对高级语言基本语言要素和控制结构的理解,锻炼我独 立思考制作程序的能力,并且掌握了一些课程设计的相关知识与实践操作能力, 为以后的学习提供了锻炼的机会。课程设计过程中,我们对很多的函数有了新的 认识,也学会了运用多种函数,也明白了编写软件的基本过程和基本方法。编码 过程中我们乂学到了曾经自己不知道的函数或是自己不会的函数的用法,从而使 我对C语言这门课程有了更好的了解心经过设计和开发,销售管理系统基本开发 完毕,对于数据的一致性的问题也通过程序进行了有效的解决,但是由于设计时 间较
31、短,所以该系统还有许多不尽如人意的地方,有待进一步改善。在编写程序的过程中,我们得到了董绍斌老师的精心指导以及孜孜不倦的教 诲,在老师的指导下,我们的能力得到了提高,同时养成了科学、严谨的作风和 习惯,在此,我们对老师的精心栽培表示衷心的感谢!感谢我们小组同学对我的 帮助和指点,在生活和学习上帮我许多忙。在课程设计即将完成之际,我的心情 无法平静,从开始进入课题到课程设计的顺利完成,有多少可敬的师长、同学、 朋友给了我无言的帮助,在这里请接受我诚挚的谢意。参考文献1 .王城端、魏先民.C语言程序设计实训.中国水利水电出版社,2005年2 .谭浩强.C程序设计(第三版).清华大学出版社,20053 .谭浩强.C程序设计题解与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年中国农村电商行业竞争趋势及投资模式分析报告
- 2024-2030年中国共享经济行业运营模式及未来发展规划预测报告
- 2024-2030年中国儿童疫苗行业发展趋势预测及投资潜力分析报告
- 2024年工程综合施工协议
- 2024年二手印刷机械买卖协议
- 2024年外资企业借款协议
- 2024年工地围挡装饰装修合同
- 2024年城市基础设施建设合同(道路照明)
- 2023年菏泽市第六人民医院招聘备案制工作人员考试真题
- 2024年婚姻终止保密协议
- 安全生产规章制度和岗位操作规程的目录清单及内容(无仓储经营单位)
- 98S205 消防增压稳压设备选用与安装(隔膜式气压罐)
- 改善人因绩效
- 炉头设备安全操作规定
- 托管安全责任承诺书范文(19篇)
- 隧道岩溶处治关键技术
- -常规化验单解读
- 关于生活中物理的课件
- 2023年口腔医学期末复习-牙周病学(口腔医学)考试历年真题集锦带答案
- 2023数据安全专项考核试题及答案
- 麦克斯韦速率分布律的推导与验证
评论
0/150
提交评论