最新c++课程设计(小型商品销售管理系统).doc

上传人:1595****071 文档编号:34718518 上传时间:2022-08-18 格式:DOC 页数:27 大小:1.43MB
返回 下载 相关 举报
最新c++课程设计(小型商品销售管理系统).doc_第1页
第1页 / 共27页
最新c++课程设计(小型商品销售管理系统).doc_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《最新c++课程设计(小型商品销售管理系统).doc》由会员分享,可在线阅读,更多相关《最新c++课程设计(小型商品销售管理系统).doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datec+课程设计(小型商品销售管理系统)课程设计管理暂行规定课程设计(论文)任务书 软 件 学院 软件工程 专业20123班 一、课程设计(论文)题目 小型商品销售管理系统 二、课程设计(论文)工作自 2013 年 6 月 17日起至 2013 年6月 21日止。三、课程设计(论文) 地点: 软件学院创新大楼 四、课程设计(论文)内容要求:1本课程设计的目的(1)使学生掌

2、握系统各功能模块的基本工作原理; (2)掌握C的基本编程原理和及基本的编程方法; (3)使学生学会系统调试;(4)培养学生分析、解决问题的能力;(5)提高学生的软件文档写作能力。 2课程设计的任务及要求1)基本要求:(1)分析系统各功能模块的工作原理;(2)至少有查找,排序、插入、删除等功能;(3)提出系统的设计方案; (4)对所进行编程、调试、修改。 2)创新要求: 在基本要求达到后,可进行创新设计.3)课程设计论文编写要求(1)要按照书稿的规格打印誊写课设论文(2)论文包括设计目的和要求、设计内容、流程图、程序实现、程序调试、设计小结、参考文献等(3)毕业论文装订按学校的统一要求完成4)答

3、辩与评分标准: (1)完成原理分析:20分; (2)完成设计过程:25分; (3)完成调试运行结果正确:40分;(4)答辩:15分。5)参考文献:(1)谭浩强.C+程序设计实践指导 清华大学出版社 (2)谭浩强.C+程序设计 清华大学出版社-(3)http:/ /6)课程设计进度安排内容 天数 地点总体需求与分析构思及收集资料 1 图书馆各模块的编程实现,调试与修改 3 机房撰写论文与答辩 1 图书馆,学生签名: 2013 年 6月17日课程设计(论文)评审意见(1)完成原理分析(20分):优()、良()、中()、一般()、差(); (2)设计分析(25分):优()、良()、中()、一般()、

4、差(); (3)完成调试(20分):优()、良()、中()、一般()、差();(4)运行结果(20分):优()、良()、中()、一般()、差();(5)答辩 (15分):优()、良()、中()、一般()、差();(6)格式规范性及考勤是否降等级:是()、否() 评阅人签名: 职称: 讲师 2013 年6月22日 目录 一、 设计目的4二、 设计要求4三、 设计内容5四、 流程图12五、 程序实现17六、 程序调试21七、 存在问题21九、 参考文献21小型商品销售管理系统一、 设计目的1、 理解C+相关知识点的概念;2、熟悉类和对象的使用,重点掌握构造函数、对象数组、友元、类的继承、虚函数、磁

5、盘文件读写等知识点的运用。二、 设计要求1、 要求独立思考,独立完成:独立完成课设内容,完成任务书中基本功能,调试通过,有完整的运行结果。遇到问题可以讨论,但不可以拷贝。2、 做好上机准备:上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。3、 课程设计报告:根据编程实现的结果,按课程设计报告的撰写规范完成C+程序设计课程设计报告(课程设计报告中必须有封面、设计任务书、目录、设计目的、设计要求、设计内容、流程图、程序实现、程序调试、设计小结、参考文献等内容,一人一份,绝对不能雷同)。4、课程设计报告一起由学习委员按规定时间(2013年6月20日下午4:

6、30之前)统一上交,迟交者无成绩。三、 设计内容设计一个小型商品销售管理系统:1、类1)Ware类,即商品基本信息类: 基本信息包含:商品编号(唯一)、商品名称、商品价格等; 要求设置多个构造函数(缺省构造、带参数的构造);2)Stock类,即商品库存信息类;Stock类继承Ware类,此外新增属性有:库存数量等。3)Sell类,即商品销售信息类;Sell类继承Ware类,此外新增属性有:销售数量,销售金额,销售时间等2、基本功能(基本功能完成后才能自行扩展其他功能)商品基本信息的键盘录入,删除,修改,磁盘导入和保存;商品库存信息的键盘录入,删除,修改,磁盘导入和保存;A)输入一个商品编号,能

7、自动搜索并在屏幕上输出商品的库存信息B)输入一个商品编号和新增库存,能更新商品的库存信息。 如商品001,输入新增库存4单位,若商品001原来的库存为3单位,则更新其库存为7单位,并保存至磁盘;3、销售记录的键盘录入和磁盘保存。要求在输入一条销售记录时,只能手动录入商品编号和销售数量,其他相关信息自动生成后,将完整的 (包含商品基本信息,价格,销售数量,销售金额,销售日期,以及库存数量) 销售记录和商品库存信息在屏幕上输出,并保存在指定的磁盘文本中,不得覆盖之前的销售记录和库存信息。输入一个销售日期,如201212,能自动计算出2012年12月份的商品总销售额。3、 程序设计(1)void f

8、irstinput()/初次输入商品的基本信息和库存信息 fstream open(base.txt,ios:in|ios:binary); /base.txt存放原商品信息 if(open) cout已有初次存入的信息,请勿重复操作!endl;return ;coutn;fstream save_set(set.txt,ios:out|ios:binary);/将当前已录入的商品数量保存在set.txt文件中save_setn;save_set.close();for(int i=0;in;i+)cout请输入endl;basei.inputnumber();basei.inputname(

9、);basei.inputprice();basei.exced();Turn(basei,stocki);stocki.input_number_of_stock();cout输入结束endl;Sleep(2000);fstream save(base.txt,ios:out|ios:binary);for(int i=0;in;i+)if(basei.Is_exc() /当前对象如果exc=0则代表它不存在,程序会跳过该对象,对其它对象进行操作save.write(char *)&basei,sizeof(basei);save.close();fstream save_stock(sto

10、ck.txt,ios:out|ios:binary);/将库存信息类的对象保存在stock.txt文件中for(int i=0;in;i+)if(stocki.Is_exc()save_stock.write(char *)&stocki,sizeof(stocki);save_stock.close();(2)void addinfo()/增加商品的基础信息和库存信息cout请输入endl;basen.inputnumber();basen.inputname();basen.inputprice();basen.exced();Turn(basen,stockn);stockn.input

11、_number_of_stock();n+;fstream save(base.txt,ios:out|ios:binary);for(int i=0;in;i+) if(basei.Is_exc()save.write(char *)&basei,sizeof(basei);save.close();fstream save_stock(stock.txt,ios:out|ios:binary);for(int i=0;in;i+)if(stocki.Is_exc()save_stock.write(char *)&stocki,sizeof(stocki);save_stock.close

12、();fstream save_set(set.txt,ios:out|ios:binary);save_setn;save_set.close();(3)void cancerinfo()/删除商品信息coutnn;int p=-1;/利用类中定义的seekn函数,查找相应的商品序号,并把对象的数组下标传递给p;for(int i=0;in;i+)if(basei.seekn(nn)p=i;break;if(p=-1)cout无此序号!endl;Sleep(1000);return ;basep.cancer();stockp.cancer();fstream save(base.txt,i

13、os:out|ios:binary);for(int i=0;in;i+)if(basei.Is_exc()save.write(char *)&basei,sizeof(basei);save.close();fstream save_stock(stock.txt,ios:out|ios:binary);for(int i=0;in;i+)if(stocki.Is_exc()save_stock.write(char *)&stocki,sizeof(stocki);save_stock.close();n-;fstream save_set(set.txt,ios:out|ios:bin

14、ary);save_setn;save_set.close();(4)void change()/更改商品信息coutnn;int p=-1;for(int i=0;in;i+)if(basei.seekn(nn)p=i;break;if(p=-1)cout无此序号!endl;Sleep(1000);return ;cout请输入endl;basep.inputnumber();basep.inputname();basep.inputprice();basep.exced();Turn(basep,stockp);stockp.input_number_of_stock();fstream

15、save(base.txt,ios:out|ios:binary);for(int i=0;in;i+) if(basei.Is_exc()save.write(char *)&basei,sizeof(basei);save.close();fstream save_stock(stock.txt,ios:out|ios:binary);for(int i=0;in;i+) if(stocki.Is_exc()save_stock.write(char *)&stocki,sizeof(stocki);save_stock.close();(5)void showinfo()/显示商品信息c

16、out输入1,按序号查找endl;cout输入2,全部显示inp;if(inp=1)int nn;coutnn;int p=-1;for(int i=0;in;i+)if(basei.seekn(nn)p=i;break;if(p=-1)cout无此序号!endl;Sleep(1000);return ;coutbasep.getnumber()endl;coutbasep.getname()endl;coutbasep.getprice()endl;coutstockp.get_number_of_stock()endl;else if(inp=2)for(int i=0;in;i+)cou

17、tbasei.getnumber()endl;coutbasei.getname()endl;coutbasei.getprice()endl;coutstocki.get_number_of_stock()endl;coutendl;elsecoutinput error!endl;Sleep(1000);cout输入任意数字,继续endl;int nnn;scanf(%*d);(6)void sellinput()/输入销售情况fstream save_sell(sell.txt,ios:out|ios:app|ios:binary);/将输入的销售情况以不覆盖的形式(ios:app),保

18、存在sell.txt中。if(!save_sell)cout销量储存错误endl;for(int i=0;in;i+)if(basei.Is_exc()/与其它数据的保存形式不同,这里是在输入的同时进行保存。cout商品编号:basei.getnumber()endl;cout商品名称:basei.getname()endl;cout商品价格:basei.getprice()endl;selli.inputamount();Turn(basei,selli);save_sell.write(char *)&selli,sizeof(selli);save_sell.close();(7)voi

19、d sellshow()fstream open_sell(sell.txt,ios:in|ios:binary);if(!open_sell)cerr读取销量错误endl;Sleep(2000);return ;coutym;double total=0;for(int i=0;i+)/不断查找sell.txt文件里的数据,并比对日期,如果日期相符,则显示出来,并且统计所有符合该如期的数据的总销售金额open_sell.seekg(i*sizeof(open),ios:beg);if(!open_sell.read(char *)&open,sizeof(open)break;/从文件起始位

20、置,一直读取到文件终结open_sell.seekg(i*sizeof(selli),ios:beg);open_sell.read(char *)&open,sizeof(open);if(open.seek_day(y,m)coutopen.getnumber()endl;coutopen.getname()endl;coutopen.getprice()endl;coutopen.getprice()*open.getamount()元endl;total+=open.getprice()*open.getamount();/cout*endl;/open.show_day();cout

21、endl;cout该月份总销售额为:total元endl;cout输入任意数字,继续endl;scanf(%*d);open_sell.close();四、 流程图(1).main()函数: 开始5.显示 Switch语句 结束7.查询销售记录n6.记录销售情况3.删除商品 2.增加商品1.原商品的添加 8.返回4.改变商品信息(2)1、void firstinput() 开始初次输入商品的基本信息和库存信息fstream save_set(set.txt,ios:out|ios:binary);录入的商品数量保存在set.txt文件中fstream save_stock(stock.txt,

22、ios:out|ios:binary);/将库存信息类的对象保存在stock.txt文件中fstream open(base.txt,ios:in|ios:binary); /base.txt存放原商品信息 if(open) 结束2、 void addinfo()增加商品的基础信息和库存信息 开始调用类内函数输入添加的商品信息新增库存存入stock.txt新增商品种类的数量存入set.txt将新信息存入base.txt 结束 开始3、void cancerinfo()删除商品信息打开set.txt更新商品种类打开stock.txt更新库存打开base.txt,更新商品信息输入商品序号调用类内定

23、义的seekn函数,查找相应的商品序号,传给指针调用类内bool类的删除函数 结束4. void change() 更改商品信 开始输入商品编号调用类内函数修改商品信息打开base.txt,更新商品信息打开stock.txt更新库存打开set.txt更新商品种类 结束5. void showinfo()显示商品信息 开始输入数字选择显示内容输入2显示所有商品的信息输入1,按序号查找商品用if语句分别调用相关的返回类内数据的函数 结束6. void sellinput() 开始输入销售情况fstream save_sell(sell.txt,ios:out|ios:app|ios:binary)

24、;将输入的销售情况以不覆盖的形式(ios:app),保存在sell.txt中。if(!save_sell)for语句,调用sell类有关销售信息方面的返回函数。并写入sell.txt 结束7. void sellshow()查询销售记录n 并显示到屏幕 结束用for循环查找sell.txt文件里数据,输出查询年月份的销售额输入年月以read方式打开sell.txt 开始五、 程序实现 图5-1 图5-2 图5-3 图5-4图5-5 图5-6 六、 程序调试 有四个警告,因为写程序将float型数据和int数据类型搞错了修改后程序可以编译出七、 存在问题 文件方面的保存输入输出功能与要求的不太相符合,文件不能再重新写入更新后的数据,程序运行时,信息录入完毕马上跳转到第二个菜单界面,容易使数据输入出错。八、 设计小结做这个课设给我最大的启示是:编一个程序都有必要去理清思路,而且要条理清晰,先大概的搞个框架,再一一的构思如何去设计,又该用那些代码去实现它。其实就想办法理思路化的时间多些,并且随着自己程序代码的写出,可以发现自己又有些功能没有去实现。所以这是个发现问题,修改,完善的一个循环过程。纠结过后,程序的功能会更好些。九、 参考文献(1)谭浩强.C+程序设计实践指导 清华大学出版社 (2)谭浩强.C+程序设计 清华大学出版社

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 成人自考

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁