




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题目:超市结账系统指导老师:刘 凌 霞班 级:2016级软件工程1班日 期:2016年12月28日成员及成绩:学 号姓 名成 绩164804014姬新科164804047岳其威二一六年十二月1、 设计目的 解决问题:超市需要处理大量的仓库信息,时刻更新产品的销售信息,不断添加商品信息。传统的人工记录比较复杂、困难。因此,面对不同种类的信息,需要合理的数据库结构来保存数据信息,所以超市收银管理程序是当今社会所必不可少的。它的特点就是能够实时的和准确的控制店内的销售情况。如果能够实时掌握销售流程及销售情况,有效地加速商品的周转率并提高服务质量,而且可以减少产品售价不符等所产生的问题。一个好的超市收银管理程序能够给企业带来巨大的便利,以及效益。 主要功能:(1) 收银人员录入商品号及购买数量,计算应付钱数。(2) 管理人员对商品信息(商品号、商品名、单价)进行输入、删除、修改和查询。(3) 顾客能清楚自己收钱数和应找钱数。(4) 顾客能看到自己购买的商品及价格数量以及找零。2、 总体设计 2.1功能模块图 :2.2主函数流程图:2.3购买商品的流程图: 3、 功能描述 3.1、登录系统 用于超市管理人员登陆及操作,选择1,进行建立商品信息库;选择2,进行选购商品信息;选择3,进行修改商品信息内容;选择4,退出程序; int main() int a,y; printf(超市结账系统n);printf(软工一班n姬新科 164804014n岳其威 164804047n);printf(2016年12月28日n);printf($n);printf(欢迎使用超市管理系统n);printf(¥n); printf(n);while(1)printf(n);printf (1.商品信息录入n);printf (2.购买商品n);printf (3.修改商品信息n);printf (4.退出n); scanf(%d,&a);if (a 4)printf (输入错误请重新输入n);if(a=1)system (cls);good(a);if(a=2)system (cls);y=buy(a);jiezhang(y);sum=0;if(a=3)system (cls);xiugai(a);if(a=4)system (cls);printf(谢谢使用.);break; return 0; 3.2、建立商品信息库 (由函数void good(int e)实现) 由超市工作人员操作,用于录入超市商品信息(商品序号、名称、进价、售价、数量),建立商品信息库。 void good(int e)int x; printf(请输入要录入的商品编号:); scanf(%d,&x); printf(货物名称:); scanf(%s,&); printf(售价:); scanf(%lf,&goodsx.price); printf(库存量:); scanf(%d,&goodsx.amount); 3.3、购买商品系统(由int buy(int b)函数实现) 用户选择想要购买的的商品序号,之后选择购买数量。 计算所需付的钱的总额。 int buy(int b)int n,m;double sum=0; printf(请输入要选购商品的序号:n); scanf(%d,&n); printf(请问您需要买数量:n); scanf(%d,&m); goodsn.amount=goodsn.amount-m; sum=sum+m*goodsn.price; return sum;3.4、结账系统(由函数void jiezhang(double c)实现 显示顾客应付的钱数(购买数量的乘积的累加求出应付钱数),顾客付钱在输入实际付钱数目后输出找零数目。void jiezhang(double c)double a,b=0;printf(请输入顾客所付的金额:);scanf(%lf,&a);if(ca)printf(钱不够n); else b=a-c;printf(收款%.2fn找零%.2fn,a,b);3.5、修改商品信息(由函数void xiugai(int d)实现) 由超市工作人员操作,包括修改所选的商品的编号,价格与库存;最后显示所该商品的改后信息。 void xiugai(int d) int num,course; printf(输入要修改的商品编号:); scanf(%d,&num); printf(选择你要修改的项目:1.price 2.amountn); scanf(%d,&course); switch(course) case 1:printf(请输入您要修改为的价格:n); scanf(%lf,&goodsnum.price); printf(%d号商品的价格修改为:%.2fn,num,goodsnum.price); break; case 2:printf(请输入您要修改为的库存:n); scanf(%d,&goodsnum.amount); printf(%d号商品的库存修改为:%dn,num,goodsnum.amount);break; 四、详细设计4.1进入超市管理系统主菜单4.2选择1进入商品信息的录入界面,进行商品信息的录入。4.3选择2进入商品购买及结账界面4.4选择3进入修改商品界面 4.4.1 修改商品库存 4.4。2修改商品价格4.5、选择4退出超市收银管理系统源代码:#include#includeint buy(int b);void good(int e);void jiezhang(double c);void xiugai(int d);double sum=0;struct goodint num;char name10;double price;int amount;goods50;int main() int a,y; printf(超市结账系统n);printf(软工一班n姬新科 164804014n岳其威 164804047n);printf(2016年12月28日n);printf($n);printf(欢迎使用超市管理系统n);printf(¥n); printf(n);while(1)printf(n);printf (1.商品信息录入n);printf (2.购买商品n);printf (3.修改商品信息n);printf (4.退出n); scanf(%d,&a);if (a 4)printf (输入错误请重新输入n);if(a=1)system (cls);good(a);if(a=2)system (cls);y=buy(a);jiezhang(y);sum=0;if(a=3)system (cls);xiugai(a);if(a=4)system (cls);printf(谢谢使用.);break; return 0; void good(int e)int x; printf(请输入要录入的商品编号:); scanf(%d,&x); printf(货物名称:); scanf(%s,&); printf(售价:); scanf(%lf,&goodsx.price); printf(库存量:); scanf(%d,&goodsx.amount); int buy(int b)int n,m;double sum=0; printf(请输入要选购商品的序号:n); scanf(%d,&n); printf(请问您需要买数量:n); scanf(%d,&m); goodsn.amount=goodsn.amount-m; sum=sum+m*goodsn.price; return sum;void jiezhang(double c)double a,b=0;printf(请输入顾客所付的金额:);scanf(%lf,&a);if(ca)printf(钱不够n); else b=a-c;printf(收款%.2fn找零%.2fn,a,b);void xiugai(int d) int num,course; printf(输入要修改的商品编号:);scanf(%d,&num);printf(选择你要修改的项目:1.price 2.amountn);scanf(%d,&course);switch(course)case 1:printf(请输入您要修改为的价格:n);scanf(%lf,&goodsnum.price);printf(%d号商品的价格修改为:%.2fn,num,goodsnum.price);break;case 2:printf(请输入您要修改为的库存:n);scanf(%d,&goodsnum.amount);printf(%d号商品的库存修改为:%dn,num,goodsnum.amount);break; 五、调试与测试5.1调试方法因为整个系统各模块之间有一定关联性,所以大部分模块在调试时,都和这段函数相关联的模块放在一起调试。5.2 测试结果的分析与讨论 switch 语句时不能处理好 system (cls) 清屏指令的应用,于是换用了“if”语句 并列使用” 在做结账函数的时候对数据类型的讨论,数据类型在 int与double 之间选择,各自调试,结果因为在使用 double 时,scanf 数据类型将 %lf 写成% f,导致商品信息建立时的售价环节不能正常录入,导致后边的整个购买结账模块无法正常运行。经过讨论最后发现并及时改正,使结账模块得以正常运行。5.3 测试过程中遇到的主要问题及采取的解决措施测试过程中首先遇上的是各种细节上的错误,如“;”、“ & ”等符号忘写,解决法是检查程序,逐个排查。在做结账函数的时候因为定义数据类型的讨论,数据类型在 int与double 之间选择,各自调试,结果因为在使用 double 时scanf 数据类型 将 %lf 写成% f,导致商品信息建立时的售价环节不能正常录入,导致后边的整个购买结账模块无法正常运行。六、团队成员与分工成员姓名学号分工 负责人姬新科164804014商品的结账与商品的修改队员岳其威164804047任务的菜单、商品信息的录入7、 课程实践总结 通过这次课程设计,使我们对C语言这门课程有了更深的理解,体会到看起来复杂的事情只要想好思路,写好算法,再设计代码,问题也就会迎刃而解。虽然在具体过程中我们遇到了很多困难和错误,尤其是在编写购买商品环节的函数时,由于一个定义数据类型的原因,使得整个函数无法正常运行,但经过不断调试后,还是成功做出了这个简陋的程序。 既然说是简陋的程序,自然有很多不足之处,例如在购买商品时一次只能购买一个并且结账,还有如果商品信息未找到,购买的商品数量超过库存量等不足,这些不足之处会引起系统的崩溃,这是往后学习了新的知识后要去解决的问题。在这次实践的过程小组成员们在面对各种问题和BUG时,虽有抱怨,但有马上开始查阅书籍,询问老师,多方面的想办法,不断调试修改。从拿到题目到最后完成,各个环节小组成员的付出自己的努力,这毕竟是我们自己做到第一个有模样的程序,对我们都有很重要的意义。如果没有小组成员间的分工合作,各自出力。这个程序让一个单独来做的就会是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年泵及真空设备行业投资趋势与盈利模式研究报告
- 2025年智能快递柜行业需求分析及创新策略研究报告
- 2025年铜材行业规模分析及投资前景研究报告
- (2025年标准)合资建厂转让协议书
- 2025年文化创意小镇行业前景分析及投资机遇研究报告
- 2025年工业制动器行业当前发展趋势与投资机遇洞察报告
- (2025年标准)合伙吊车协议书
- 2025安徽安庆市安汇港务有限公司招聘1人考试备考题库及答案解析
- 2025年新房屋确权转让协议书
- 2025年甘肃广电传媒集团有限责任公司招聘考试模拟试题及答案解析
- 香港标准租约合同模板
- 国能灵璧浍沟70MW风电项目 XGC15000TM-1000t履带吊-1000及SCC8000A-800t履带吊安拆方案
- 生物-湖湘名校教育联合体2024年下学期高二10月大联考试题和答案
- 2024年秋季新北师大版7年级上册数学教学课件 2.1.2 相反数、绝对值
- 动车组应急救援体系研究
- 墨菲定律课件教学课件
- 天津市语文高考试卷及答案指导(2025年)
- 高一政治开学第一课课件-高中政治统编版必修一
- DZ∕T 0448-2023 滑坡崩塌泥石流灾害精细调查规范(正式版)
- 鲁教版(五四学制)中考英语6-9年级词汇表
- 法律常识题库500题完整
评论
0/150
提交评论