《超市收银系统》课程设计报告书_第1页
《超市收银系统》课程设计报告书_第2页
《超市收银系统》课程设计报告书_第3页
《超市收银系统》课程设计报告书_第4页
《超市收银系统》课程设计报告书_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、河北联合大学2011-2012第2学期 软件设计基础-C+课程设计报告设计名称: 超市收银系统 姓 名: 郑爱鹏 学 号: 17 专业班级: 11建筑环境与设备工程(1)班 学 院: 建筑工程学院 设计时间: 2012.06.05 设计地点: 河北联合大学 成绩:指导教师评语: 指导教师签字: 年 月 日软件设计基础-C+课程设计报告 第 20 页,共 20 页目 录1.课程设计目的32.课程设计任务与要求43.课程设计说明书54.课程设计成果85.程序调试过程176.设计问题的不足和改进方案187.课程设计心得198.参考文献201课程设计目的软件设计基础-C+课程设计是这门课程的实践性教学

2、环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C+的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C+这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。2课程设计任务与要求:要求:本次课程设计利用软件设计基础-C+课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。要求:1、对系统进行功能需求分析2、设计合理的数据结构和系统框架3、编程简练,程序功能齐全,能正确运行4、说明书、流程图

3、要清楚5、课题完成后必须按要求提交课程设计报告任务:本课程设计模拟超市收款过程。根据货物清单,选定所购货物种类及数量,实现收银结账。本系统应具备四大基本功能:商品管理、货架管理、购物篮管理和收银管理。货架管理实现库中某种商品的入库、出库、查询及显示等功能。需要建立一个货架类,通过调用相应的函数来实现。每种商品有单价、条形码、商品名称等属性。商品管理类实现了设置、获取商品信息、复制商品信息等功能。购物篮管理就是一个小型的货架管理,可以用货架类来实现。收银管理实现商品的结账、找零等任务。需要建立一个收银台类,通过调用相应的函数来实现。3课程设计说明书概要设计模块说明:在我和我的伙伴设计的程序中一共

4、包括了6个大模块,分别是:预知商品模块、主程序模块、展示商品模块、店主操作模块、顾客操作模块、退出系统模块。主要由我完成的部分是主程序模块、店主操作模块、顾客操作模块、退出系统模块。我将其中的店主操作继续分为修改价钱模块和追加商品模块,顾客操作模块下还有顾客购买模块。在我完成的这4大模块中,店主操作模块、顾客操作模块、退出系统模块是独立分开作为子函数,通过主程序框架main函数switch语句联系在一起。同时,为了实现多次使用这几大模块,就在switch语句外加了while循环。 模块结构图:开始预置商品主程序顾客操作退出系统展示商品店主操作顾客购买追加商品修改价钱 详细设计 总体流程图:Ma

5、in()cin>>astore.ShowGoods();store.ShowGoods();MasterOperate(&store);store.ShowGoods();Store=casher.BuyGoods(store);a=1a=0a=-1break;cout<<”<<end各功能模块流程图: 1.顾客购买模块 2.店主修改商品价钱和追加货物模块4课程设计成果顾客购买:class CCashprivate:int m_OldMoney, m_PresentMoney;public:CStore BuyGoods(CStore);CCash(

6、);CCash:CCash()m_OldMoney = 10000;m_PresentMoney = 0;CStore CCash:BuyGoods(CStore store)CStore temp = store;int a, n,q;docout<<"欢迎进入购买系统,请选择需要购买的货物索引号,退出请输入-1"<<endl;cin>>a;switch(a)case -1:break;case 0:case 1:case 2:case 3:case 4:case 5:case 6:q = a;doswitch(q)case 0:cou

7、t<<"你打算购买苹果,请输入打算购买的数量"<<endl;cin>>n;if(temp.GetGoods(0).GetGoods(n)m_PresentMoney += temp.GetGoods(0).GetPrice() * n;temp.GetGoods(0).SetNumber(temp.GetGoods(0).GetNumber() - n);elsecout<<"对不起,您输入的数字太大,库存量不够,或者输入非法操作,本次操作不成功"<<endl;break;case 1:cout

8、<<"你打算购买香梨,请输入打算购买的数量"<<endl;cin>>n;if(temp.GetGoods(1).GetGoods(n)m_PresentMoney += temp.GetGoods(1).GetPrice() * n;temp.GetGoods(1).SetNumber(temp.GetGoods(1).GetNumber() - n);elsecout<<"对不起,您输入的数字太大,库存量不够,或者输入非法操作,本次操作不成功"<<endl;break; (重复语句,略)cas

9、e 6:cout<<"你打算购买牛奶,请输入打算购买的数量"<<endl;cin>>n;if(temp.GetGoods(6).GetGoods(n)m_PresentMoney += temp.GetGoods(6).GetPrice() * n;temp.GetGoods(6).SetNumber(temp.GetGoods(6).GetNumber() - n);elsecout<<"对不起,您输入的数字太大,库存量不够,或者输入非法操作,本次操作不成功"<<endl;break;defa

10、ult:cout<<"对不起,您的操作非法,请重新输入"<<endl<<endl;break;cout<<"如还需购买其他物品,请继续输入对应索引号;"<<endl;cout<<"如想结账,可输入-2"<<endl;cout<<"如不想购买物品,可输入-1直接退出本系统"<<endl;cin>>q; while(q != -1 && q != -2);switch(q)case -

11、1:a = q;break;case -2:m_OldMoney -= m_PresentMoney;int sf;cout<<"本次购买成功,应付款:"<<m_PresentMoney<<"元"<<endl<<endl;cout<<"实付(元):"cin>>sf; cout<<"找零(元):"<<sf-m_PresentMoney<<endl;return temp;break;break;de

12、fault:cout<<"对不起,您的操作非法,请重新输入"<<endl<<endl;break;while(a != -1);return store; 店主操作:void MasterOperate(CStore *store)int b,c,d;docout<<"您好店主,修改物品价格请输入1,添加物品数量请输入2,返回请输入-1"<<endl;cin>>b;switch(b)case 1:cout<<"请输入所欲修改物品价格的索引号"<&

13、lt;endl;cin>>c;if(c < 0 | c > 6)cout<<"对不起,没有此项物品"<<endl;break;cout<<"请输入修改后的价格"<<endl;cin>>d;if(!store->ChangePrice(c, d)cout<<"对不起,您输入的价格低于0,本次操作非法"<<endl<<endl;elsecout<<"修改成功,请继续操作,谢谢"<

14、;<endl<<endl;break;case 2:cout<<"请输入所欲添加物品的索引号"<<endl;cin>>c;if(c < 0 | c > 6)cout<<"对不起,没有此项物品"<<endl;break;cout<<"请输入需添加的数目"<<endl;cin>>d;if(!store->PutGoods(c, d)cout<<"对不起,您添加的数目使得库存超过100,本

15、次操作非法"<<endl<<endl;elsecout<<"修改成功,请继续操作,谢谢"<<endl<<endl;break;case -1:break;default:cout<<"操作非法,请重新输入您需要的服务序号,谢谢配合"<<endl;while(b != -1);cout<<"店主操作结束,谢谢"<<endl; 主函数:int main()CStore store;CCash casher;store.In

16、itGoods();int a;docout<<"/欢迎使用超市收银系统/"<<endl;cout<<"序号0为查询超市库存商品信息"<<endl;cout<<"序号1为店主操作,添加货物或修改货物价格"<<endl;cout<<"序号2为顾客操作,进入购买商品流程"<<endl;cout<<"序号-1为退出超市收银处理系统"<<endl<<endl;cout<

17、;<"请根据需要输入对应服务的序号"<<endl;cin>>a;switch(a)case 0:store.ShowGoods();cout<<endl<<endl<<endl;break;case 1:store.ShowGoods();cout<<endl<<endl;MasterOperate(&store);break;case 2:store.ShowGoods();store = casher.BuyGoods(store);cout<<endl<

18、<endl;break;case -1:break;default:cout<<"输入非法序号,请重新选择对应服务序号,谢谢"<<endl<<endl<<endl;break;while(a != -1);cout<<"超市收银系统结束,欢迎使用,谢谢"<<endl;运行结果:1.主程序2.查询超市库存商品信息 3.店主操作4.店主修改物品价钱5.店主添加物品数量6.顾客操作 7.顾客购买商品5.程序调试过程Compile:-Configuration: 超市收银系统 - Wi

19、n32 Debug-Compiling.Skipping. (no relevant changes detected)超市收银系统.cpp超市收银系统.obj - 0 error(s), 0 warning(s)Build:-Configuration: 超市收银系统 - Win32 Debug-Linking.超市收银系统.exe - 0 error(s), 0 warning(s)6.设计问题的不足和改进方案1.交互性界面不够美观。 2.调试的时候偶尔出现“1 error”,找不到问题出在哪里。 3.不能新建商品,只能在原有的商品上改动价格和增加商品 4.在顾客购买商品完成付费后,界面跳转太快。没有连贯性。 5.一旦有输入错误,系统崩溃。比如说在应该输入数字的地方输入字母,既造成系统崩溃7.课程设计心得 在做这个程序的过程中,我深深地感受到了学习C+并不像我想象的那么简单。起初我是很轻视C+的,在老师布置作业时候,我是选的了一个2星的题,后来觉得太简单了,就换成了4星的,开始也是打算自己做的,我的伙伴执意与我共同完成。这才有了我们两的个共同努力。 看的这个程序的任务书时,我一下子被吓到了。根本一点也不会,感觉和之前

温馨提示

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

评论

0/150

提交评论