您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 设计及方案 > 《超市收银系统》课程设计报告书
河北联合大学2011-2012第2学期《软件设计基础-C++》课程设计报告设计名称:超市收银系统姓名:郑爱鹏学号:17专业班级:11建筑环境与设备工程(1)班学院:建筑工程学院设计时间:2012.06.05设计地点:河北联合大学指导教师评语:指导教师签字:年月日成绩:《软件设计基础-C++》课程设计报告第2页,共20页目录1.课程设计目的··············································································32.课程设计任务与要求·····································································43.课程设计说明书···········································································54.课程设计成果··············································································85.程序调试过程············································································176.设计问题的不足和改进方案··························································187.课程设计心得············································································198.参考文献··················································································20《软件设计基础-C++》课程设计报告第3页,共20页1.课程设计目的《软件设计基础-C++》课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C++的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C++这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。《软件设计基础-C++》课程设计报告第4页,共20页2.课程设计任务与要求:要求:本次课程设计利用《软件设计基础-C++》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。要求:1、对系统进行功能需求分析2、设计合理的数据结构和系统框架3、编程简练,程序功能齐全,能正确运行4、说明书、流程图要清楚5、课题完成后必须按要求提交课程设计报告任务:本课程设计模拟超市收款过程。根据货物清单,选定所购货物种类及数量,实现收银结账。本系统应具备四大基本功能:商品管理、货架管理、购物篮管理和收银管理。货架管理实现库中某种商品的入库、出库、查询及显示等功能。需要建立一个货架类,通过调用相应的函数来实现。每种商品有单价、条形码、商品名称等属性。商品管理类实现了设置、获取商品信息、复制商品信息等功能。购物篮管理就是一个小型的货架管理,可以用货架类来实现。收银管理实现商品的结账、找零等任务。需要建立一个收银台类,通过调用相应的函数来实现。《软件设计基础-C++》课程设计报告第5页,共20页3.课程设计说明书⑴概要设计模块说明:在我和我的伙伴设计的程序中一共包括了6个大模块,分别是:预知商品模块、主程序模块、展示商品模块、店主操作模块、顾客操作模块、退出系统模块。主要由我完成的部分是主程序模块、店主操作模块、顾客操作模块、退出系统模块。我将其中的店主操作继续分为修改价钱模块和追加商品模块,顾客操作模块下还有顾客购买模块。在我完成的这4大模块中,店主操作模块、顾客操作模块、退出系统模块是独立分开作为子函数,通过主程序框架main函数switch语句联系在一起。同时,为了实现多次使用这几大模块,就在switch语句外加了while循环。模块结构图:预置商品店主操作顾客操作修改价钱顾客购买主程序追加商品退出系统展示商品开始《软件设计基础-C++》课程设计报告第6页,共20页⑵详细设计总体流程图:开始开始开始Main()cinastore.ShowGoods();store.ShowGoods();MasterOperate(&store);store.ShowGoods();Store=casher.BuyGoods(store);;a=1a=0a=-1break;cout””end《软件设计基础-C++》课程设计报告第7页,共20页各功能模块流程图:1.顾客购买模块2.店主修改商品价钱和追加货物模块《软件设计基础-C++》课程设计报告第8页,共20页4.课程设计成果顾客购买:classCCash{private:intm_OldMoney,m_PresentMoney;public:CStoreBuyGoods(CStore);CCash();};CCash::CCash(){m_OldMoney=10000;m_PresentMoney=0;}CStoreCCash::BuyGoods(CStorestore){CStoretemp=store;inta,n,q;do{cout欢迎进入购买系统,请选择需要购买的货物索引号,退出请输入-1endl;cina;switch(a){case-1:break;case0:case1:case2:case3:case4:《软件设计基础-C++》课程设计报告第9页,共20页case5:case6:q=a;do{switch(q){case0:cout你打算购买苹果,请输入打算购买的数量endl;cinn;if(temp.GetGoods(0).GetGoods(n)){m_PresentMoney+=temp.GetGoods(0).GetPrice()*n;temp.GetGoods(0).SetNumber(temp.GetGoods(0).GetNumber()-n);}else{cout对不起,您输入的数字太大,库存量不够,或者输入非法操作,本次操作不成功endl;}break;case1:cout你打算购买香梨,请输入打算购买的数量endl;cinn;if(temp.GetGoods(1).GetGoods(n)){m_PresentMoney+=temp.GetGoods(1).GetPrice()*n;temp.GetGoods(1).SetNumber(temp.GetGoods(1).GetNumber()-n);}else{cout对不起,您输入的数字太大,库存量不够,或者输入非法操作,本次操作不成功endl;}break;(重复语句,略)case6:《软件设计基础-C++》课程设计报告第10页,共20页cout你打算购买牛奶,请输入打算购买的数量endl;cinn;if(temp.GetGoods(6).GetGoods(n)){m_PresentMoney+=temp.GetGoods(6).GetPrice()*n;temp.GetGoods(6).SetNumber(temp.GetGoods(6).GetNumber()-n);}else{cout对不起,您输入的数字太大,库存量不够,或者输入非法操作,本次操作不成功endl;}break;default:cout对不起,您的操作非法,请重新输入endlendl;break;}cout如还需购买其他物品,请继续输入对应索引号;endl;cout如想结账,可输入-2endl;cout如不想购买物品,可输入-1直接退出本系统endl;cinq;}while(q!=-1&&q!=-2);switch(q){case-1:a=q;break;case-2:m_OldMoney-=m_PresentMoney;intsf;cout本次购买成功,应付款:m_PresentMoney元endlendl;cout实付(元):;cinsf;cout找零(元):sf-m_PresentMoneyendl;returntemp;break;}break;《软件设计基础-C++》课程设计报告第11页,共20页default:cout对不起,您的操作非法,请重新输入endlendl;break;}}while(a!=-1);returnstore;}——————————————————店主操作:voidMasterOperate(CStore*store){intb,c,d;do{cout您好店主,修改物品价格请输入1,添加物品数量请输入2,返回请输入-1endl;cinb;switch(b){case1:cout请输入所欲修改物品价格的索引号endl;cinc;if(c0||c6){cout对不起,没有此项物品endl;break;}cout请输入修改后的价格endl;cind;if(!store-ChangePrice(c,d))cout对不起,您输入的价格低于0,本次操作非法endlendl;elsecout修改成功,请继续操作,谢谢endlendl;break;case2:cout请输入所欲添加物品的索引号endl;《软件设计基础-C++》课程设计报告第12页,共20页cinc;if(c0||c6){cout对不起,没有此项物品endl;break;}cout请输入需添加的数目endl;cind;if(!store-PutGoods(c,d))cout对不起,您添加的数目使得库存超过100,本次操作非法endlendl;elsecout修改成功,请继续操作,谢谢endlendl;break;case-1:break;default:cout操作非法,请重新输入您需要的服务序号,谢谢配合endl;}}while(b!=-1);cout店主操作结束,谢谢endl;}——————————————————主函数:intmain(){CStorestore;CCashcasher;store.InitGoods();inta;do{cout//////////////////欢迎使用超市收银系统/////////////////////////endl;cout序号0为查询超市库存商品信息endl;cout序号1为店主操作,添加货物或修改货物价格endl;cout序号2为顾客操作,进入购买商品流程endl;cout序号-1为退出超市收银处理系统endlendl;cout请根据需要输入对应服务的序号endl;《软件设计基础-C++》课程设计报告第13页,共20页cina;switch(a){case0:store.ShowGoods();coutendlendlendl;break;case1:store.ShowGoods();coutendlendl;MasterOperate(&store);break;case2:store.ShowGoods();store=casher.BuyGoods(store);coutendlendl;break;case-1:break;default:cout输入非法序号
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:《超市收银系统》课程设计报告书
链接地址:https://www.777doc.com/doc-6860660 .html