




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计题 目: 超市管理系统学 生 姓 名: 学 院: 信息数理学院 专 业 班 级: 学 号: 指 导 教 师: 设 计 时 间: 2014年12月29日2015年1月8日 目录1、 课程设计目的2、 课程设计的要求3、 设计思路及流程图4、 功能函数的作用5、 源代码6、 程序截图7、 心得总结1、 课程设计目的:本课程设计是在大学本科二年级上学期,学完面向对象程序设计(C+语言)课程之后,进行的一项综合课程设计:1 理解“面向对象程序设计”的思想方法和知识点2 强化对于面向对象程序设计方法的理解与实践3 巩固和加深学生对C+语言课程的基本知识的理解和掌握4 掌握面向对象的抽象性、封装性、继承性和多态性等重要特点二、课程设计要求: 1.基于面向对象的抽象性、封装性、继承性和多态性等重要特点,逐级设计相关超市货品的属性,包括:货号,货名,型号,进货价,库存量,经办人。例如超市货品分为生活用品、小家电、常见食品等等。2. 具体要求:(1)主菜单设计(2)记录输入:对每一个货物的货号、货名、型号、进货价、库存量、经办人,进行输入并存储在数据文件中。(3)显示记录:以列表方式显示全部记录(4)维护记录。能够实现添加、删除、修改货物记录,结果存储到文件中。修改纪录可以对任意记录的数据进行修改并在修改前后对记录内容进行显示;删除记录可以删除文件中的任意一个纪录。(5)查询记录。根据货号、货名、型号、经办人等查询货物的信息。如:根据货号显示一种货物的记录;根据货名显示记录;根据经办人显示其所有经办的货物,可能有多种货物。(6)统计记录。计算每种货物的总价值,并以列表的方式显示;计算某经办人的经办货物数量。(7)设计货物数据记录,基本与实践情况相似,记录数不少于10条,能反应以上所有要求。三、设计思路及流程图首先,先建立一个超市的基类,在基类中定义一个公有的接口,稍后定义一个派生类并在派生类中对基类的虚函数进行功能实现。1 在派生类中所具有的功能包括:(1) 添加商品(2) 查询商品(3) 修改商品(4) 统计商品(5) 删除商品2 各个功能划分的的子功能:(1) 添加函数区分为不同类别储存(2) 查询函数分为按查询码查询,和按操作人查询(3) 修改函数可有多种修改方式(4) 统计分为按查询码统计和按类别统计,以及全部输出(5) 进行了+的重载(6) 运用flag标识符来辨别类的区别(7) 运用C+文件流进行文件存储主流程图:统计的流程图: 修改流程图:四、源代码1、 基类class Supmarket/定义纯虚函数接口public:virtual void Add()=0; /增加商品virtual void Add_up()=0; /统计商品virtual void Delete()=0; /删除商品 virtualvoid Change()=0; /修改商品virtual void Search()=0; /查询商品;class Goods:public Supmarket/派生类protected:int flag;char goods_name50; /商品名称double goods_number; /商品查询货号char goods_type50; /商品型号char person_name30; /经办人int price; /进货价double amount; /库存量static int count;public:void setdata();void ShowData();void Add(); /增加商品void Add_up(); /统计商品void Delete(); /删除商品void Change(); /修改商品void Search(); /查询商品 friend double operator +(const double &i,const Goods &d);/重载+号Goods()flag=0;goods_name0=0;goods_number=0;goods_type0=0;person_name0=0;price=0;amount=0;int Goods:count=0;加号的重载:double operator +(const double &i, const Goods &d)return i+d.amount *d.price;应用if(temp.flag=1)cout该商品为商品基类:endl;temp.ShowData ();double i=0;i=i+temp;/重载的应用couttt该商品的价值为iAdd();break;case 2:p-Delete();break;case 3:p-Change();break;case 4:p-Search(); break;case 5:p-Add_up();break;添加商品:void Goods:Add() Goods goods;coutt1 商品基类 2 生活用品类别 3 食品类 4 家电类goods.flag; goods.setdata();cout已储存endl;ofstream out(text.txt,ios:out|ios:app|ios:binary);if(!out)exit(0);out.write(char *)&goods,sizeof goods);out.close();system(pause);system(cls);删除商品void Goods:Delete() /删除商品函数构造bool b;Goods temp1 ;Goods temp2;coutn;ifstream in(text.txt,ios:in|ios:binary);int i=0;while(!in.eof()in.read(char *)&temp1,sizeof temp1);if(in.eof() cout不存在该商品,返回主界面endl;break;i+;if(temp1.goods_number=n) b=1;break;in.close();if(b!=1)elsefstream out(text.txt,ios:in|ios:out|ios:binary);out.seekp(i-1)*(sizeof temp2) ,ios:beg);out.write(char *)&temp2,sizeof temp2);out.close();cout已删除endl;system(pause);system(cls);查找函数:void Goods:Search()Goods temp;cout你要查询的方式1-查询码查询 2-经办人查询a;switch(a)case 1:coutn;ifstream in(text.txt,ios:in|ios:binary);if(!in)coutkongendl;exit(0);in.read(char *)&temp,sizeof temp);int i=1;while(!in.eof()if(temp.goods_number=n) if(temp.flag=1)coutt该商品为商品基类:endl;temp.ShowData ();if(temp.flag=2)coutt该商品为生活用品类:endl;temp.ShowData ();if(temp.flag=3)coutt该商品为食品类:endl;temp.ShowData ();if(temp.flag=4)coutt该商品为家电类:endl;temp.ShowData ();break;in.read(char *)&temp,sizeof temp);i+;if(in.eof() cout不存在该商品endl;in.close(); break; 五、程序截图:程序首页面:增加商品:修改商品:通过查询不到原始的查询码,而能得到新的查询码证明修改成功:统计商品:1、 按查询码统计2、 按操作统计:将同一人操作的完全输出:3、 按类别统计:4、 输出全部:删除成员:在查询中查询通过查询判断是否成功删除:六、心得总结:在本次课程设计中刚开始以为要用到MFC去完成设计,导致一直在看书上关与MFC的内容,而且还看不太懂,后来老师说能用dos的原始界面来做就开始构架框架,有了大一课程设计的经验这些东西并不太难,同时在C+的编程中要突出封装、继承、和多态、而且更优秀者要突出友元和重载,我的书本知识学的还不错这些东西都可以实现,但是又有了一个难题要一个一个存到类里面去,我又自学了没讲倒的中的文件流的存储,但是再后来对于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新学未小学教材讲解
- 手术室高危药品管理
- 天气预报项目讲解
- 现代化医院护理服务体系建设
- 秦岭生态环保汇报
- 文化相关条例解读
- 小学宣讲活动汇报
- 外研版三起课程讲解
- 眼科医院营销答辩策略规划
- 现代生殖技术发展与应用
- 保安员知识考试题库及答案
- 农村土地确权课件
- (高清版)T∕CES 243-2023 《构网型储能系统并网技术规范》
- 面试性格测试表
- XXX加油站风险分级管控台账
- 特种设备安全管理-使用知识
- H35-462(5G中级)认证考试题库(附答案)
- HY/T 122-2009海洋倾倒区选划技术导则
- GB/T 19666-2019阻燃和耐火电线电缆或光缆通则
- 制造执行系统的功能与实践最新ppt课件(完整版)
- xx医院卫生院卫生应急(医疗救援)物资储备清单
评论
0/150
提交评论