




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、;.题目:超市结账系统指导 老 师:刘 凌 霞班级:2016 级软件工程1 班日期:2016 年 12 月 28 日学 号姓 名成 绩成 员 及 成 绩 :164804014姬新科164804047岳其威二一六年十二月;.;.一、设计目的解决问题:超市需要处理大量的仓库信息,时刻更新产品的销售信息,不断添加商品信息。 传统的人工记录比较复杂、 困难。因此,面对不同种类的信息,需要合理的数据库结构来保存数据信息, 所以超市收银管理程序是当今社会所必不可少的。它的特点就是能够实时的和准确的控制店内的销售情况。 如果能够实时掌握销售流程及销售情况, 有效地加速商品的周转率并提高服务质量, 而且可以减
2、少产品售价不符等所产生的问题。 一个好的超市收银管理程序能够给企业带来巨大的便利,以及效益。主要功能:(1) 收银人员录入商品号及购买数量,计算应付钱数。(2) 管理人员对商品信息(商品号、商品名、单价)进行输入、删除、修改和查询。(3) 顾客能清楚自己收钱数和应找钱数。(4) 顾客能看到自己购买的商品及价格数量以及找零。二、总体设计2.1 功能模块图:;.;.2.2 主函数流程图:2.3 购买商品的流程图:;.;.三、功能描述3.1 、登录系统用于超市管理人员登陆及操作,选择 1,进行建立商品信息库;选择 2,进行选购商品信息;选择 3,进行修改商品信息内容;选择 4,退出程序;int ma
3、in()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)sy
4、stem (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( 货物
5、名称 :);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=goods
6、n.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);elseb=a-c;printf( 收款 %.2fn 找零 %.2fn,a,b);3.5 、修改商品信息(由函数void xiugai(int
7、 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;c
8、ase 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
9、 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
10、);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
11、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*g
12、oodsn.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)ca
13、se 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
14、 语句时不能处理好system (cls)清屏指令的应用,于是换用了“if ”语句 并列使用”在做结账函数的时候对数据类型的讨论,数据类型在int 与 double 之间选择,各自调试,结果因为在使用double 时, scanf 数据类型将%lf 写成 % f ,导致商品信息建立时的售价环节不能正常录入, 导致后边的整个购买结账模块无法正常运行。经过讨论最后发现并及时改正,使结账模块得以正常运行。;.;.5.3测试过程中遇到的主要问题及采取的解决措施测试过程中首先遇上的是各种细节上的错误,如 “;”、“ & 等”符号忘写,解决法是检查程序, 逐个排查。在做结账函数的时候因为定义数据类型的讨论
15、, 数据类型在 int 与 double 之间选择,各自调试,结果因为在使用 double 时 scanf 数据类型 将 %lf 写成 % f,导致商品信息建立时的售价环节不能正常录入,导致后边的整个购买结账模块无法正常运行。六、团队成员与分工成员姓名学号分工负责人姬新科164804014商品的结账与商品的修改队员岳其威164804047任务的菜单、商品信息的录入七、课程实践总结通过这次课程设计, 使我们对 c 语言这门课程有了更深的理解, 体会到看起来复杂的事情只要想好思路,写好算法,再设计代码,问题也就会迎刃而解。虽然在具体过程中我们遇到了很多困难和错误, 尤其是在编写购买商品环节的函数时,由于一个定义数据类型的原因, 使得整个函数无法正常运行, 但经过不断调试后,还是成功做出了这个简陋的程序。既然说是简陋的程序, 自然有很多不足之处, 例如在购买商品时一次只能购买一个并且结账,还有如果商品信息未找到, 购买的商品数量超过库存量等不足,这些不足之处会引起系统的崩溃,这是往后学习了新的知识后要去解决的问题。在这次实践的过程小组成员们在面对各种问题和 bug时,虽有抱怨,但有马上开始查阅书籍,询问老师,多方面的想办法,不断调试修改。从拿到题目到最后完成,各个环节小组成员的付出自己的努力, 这毕竟是我们自己做到第一个有模样的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030生猪行业风险投资发展分析及投资融资策略研究报告
- 2025-2030烤箱控制的晶体振荡器行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030消费贷款行业市场发展分析及发展趋势与投资战略研究报告
- 2025-2030流数据记录仪行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030汽车轻量化材料行业市场发展分析及竞争格局与投资战略研究报告
- 2025-2030止吐药行业并购重组机会及投融资战略研究咨询报告
- 出资合同协议
- 电力设施承发包合同
- 电力行业智能设备安装与维护合同协议
- 矿产承包合同
- 2022年泰州兴化市人民医院医护人员招聘考试笔试题库及答案解析
- 复变函数与积分变换完整版课件全套ppt整本书电子讲义全书电子课件最全教学教程
- 办公室平面图模板
- 分包商资格申请表(全套)
- 三年级数学下册苏教版《解决问题的策略-从问题想起》教学反思(区级公开课)
- 计量经济学期末考试题库(完整版)及答案
- 移动机器人机械臂的设计
- 加 工 贸 易 手 册
- 高通量测序技术在微生物基因组学中的应用
- 复方地蒽酚软膏(克显龙)蒽林软膏说明书副作用不良反应高低浓度的使用方法
- 04_微生物农药
评论
0/150
提交评论