超市进销存程序设计报告

上传人:ca****in 文档编号:48871422 上传时间:2022-01-15 格式:DOCX 页数:32 大小:375.52KB
收藏 版权申诉 举报 下载
超市进销存程序设计报告_第1页
第1页 / 共32页
超市进销存程序设计报告_第2页
第2页 / 共32页
超市进销存程序设计报告_第3页
第3页 / 共32页
资源描述:

《超市进销存程序设计报告》由会员分享,可在线阅读,更多相关《超市进销存程序设计报告(32页珍藏版)》请在装配图网上搜索。

1、课程设计报告课程名称 面向对象课程设计 设计题目 超市进销存管理系统 专业班级 软件1241 姓 名 王颖 学 号 1204431105 指导教师 张秀坤 起止时间 2013年8月26日- 8月30日 成 绩 评 定考核内容设计表现设 计报 告答辩综合评定1成 绩电气与信息学院课程设计考核和成绩评定办法1 课程设计的考核由指导教师根据设计表现、设计报告、设计成果、答辩等几个方面,给出各项权重,综合评定。该设计考核教研室主任审核,主管院长审批备案。2 成绩评定采用五级分制,即优、良、中、及格、不及格。3 参加本次设计时间不足三分之二或旷课四天以上者,不得参加本次考核,按不及格处理。4 课程设计结

2、束一周内,指导教师提交成绩和设计总结。5 设计过程考核和成绩在教师手册中有记载。课程设计报告内容 课程设计报告内容、格式各专业根据专业不同统一规范,经教研室主任审核、主管院长审批备案。注: 1. 课程设计任务书和指导书在课程设计前发给学生,设计任务书放置在设计报告封面后和正文目录前。 2. 为了节省纸张,保护环境,便于保管实习报告,统一采用A4纸,实习报告建议双面打印(正文采用宋体五号字)或手写。1目录课程设计目的要求及思路 1系统功能模块图 2系统流程图及类的层次图 8相关代码(源代码) 9 总结及参考文献 2612013/2014学年第1学期面向对象课程设计任务书班级:计算1241、2;指

3、导教师:张秀坤、丁柏秀、李天宇地点:计算机机房;时间:2013.8.26-8.30课程设计题目(范围):各种管理系统设计或小型软件开发一、 课程设计目的使学生基本掌握面向对象程序设计的基本思路和方法,熟练掌握C+语言的基本知识和技能,能够利用所学面向对象程序设计,解决具体问题,提高学生面向对象程序设计的综合能力,为学生后续课程及毕业设计打下良好的基础。二、课程设计内容(包括技术指标)通过设计一个管理系统或者其它小型软件开发,进一步熟悉C中类的概念、类的封装、继承的实现方式。了解系统软件开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C的理解与Visual C环

4、境的使用。设计一个管理系统,要有主菜单,用于选择各项功能,功能包含:数据录入、数据统计、数据查询、数据修改、数据打印、数据备份(把相关数据写入文件)、退出等功能。三、时间安排序号学时分配课 程 设 计 内 容12布置任务、查找资料22总体需求分析与设计,写出需求分析(该程序要实现什么样的功能);分析系统中的各个实体之间的关系及其属性和行为134根据问题描述,设计系统的类层次;完成类层次中各个类的描述(包括属性和方法),基类、各派生类设计及代码实现44各模块的编程设计52各模块的调试、修改62程序总调试、修改72撰写课程设计实习报告、打印84课程设计验收与答辩合计22四、基本要求1明确课程设计任

5、务,提高课程设计认识,严格服从教师安排,不迟到,不早退,不旷课,按时上机;2认真独立完成设计内容,上机前准备程序,做好资料搜集,能够上网查询所需资料;3利用面向对象的方法以及C+的编程思想来完成系统的设计,在系统的设计中,至少要用到面向对象的一种机制;4提交设计任务书,设计任务书要求A4幅面; 5在设计的过程中,建立清晰的类层次,画出程序流程图; 6进行系统与功能分析,建立数据结构表; 7编写程序,调试各模块;8完成答辩,提交课程设计报告。正文一、课程设计目的 1.要求学生达到熟练掌握C+语言的基本知识和技能。 2.基本掌握面向对象程序设计的基本思路和方法。 3.能够综合利用所学的基本知识和技

6、能,解决较复杂的面向对象程序设计问题。 4.通过这次课程设计掌握C+语言程序设计的编程思想,为后续课程打下基础。 5.培养我们实际操作能力和实践能力,为毕业设计及以后的工作打下坚实的基础。二、课程设计要求 1.要求学生独立完成所布置题目。 2.要求利用面向对象的方法以及C+的编程思想来完成系统的设计。 3.要求在设计的过程中,建立清晰的类层次。 4.在系统的设计中,至少要用到面向对象的一种机制。 5.实现软件或系统功能,功能尽可能齐全,如:录入、查询、修改、增加、删除、统计、输出等。三、设计思路 1.需求分析:对用户提出的问题提出解决的办法和思路。设计数据字典,数据流图。用UML图确定类之间的

7、联系,用自顶向下的方法创建主程序和子程序,控制对象间的相互作用。 2.根据需求,设计系统功能模块,并设计相应的类和界面。分析系统中的各个实体之间的关系及其属性和行为,根据问题描述,设计系统的类层次。 3.根据基本思路,确定输入和输出,设计程序的算法。 4.对用到的所有类进行描述和定义,并进行测试。 5.在计算机上编译程序,检验程序的可运行性,对于程序中代码完成的功能等加以声明。 6.编写本次课程设计报告。四、系统功能模块图执行程序:输入密码,员工密码,系统密码:登陆后:进入系统:增加商品:这里以日常用品类为例:出售商品:这里以食品类为例:查询商品:这里我们以食品类检验出售是否正确:原有350k

8、g,现销售20kg,查询结果为330kg,验证成功。查询员工:选择退出:选择“是”:可以查看根文件,查看结束后退出程序:5、 系统流程图进入超市进销存管理系统员工登陆并输入系统密码进入选择界面:选择目录增加商品销售商品查询商品查询员工列表六、类的层次图(包括类成员列表)基类:商品类(Goods)派生类:家电类(ElectricalAppliance)派生类:日用品类(DailyGoods)派生类:食品类(Food)名称属性说明int Add()超市类的公有函数增加商品的函数int Sale()超市类的公有函数按照商品名称卖出商品的函数int Search()超市类的公有函数按照商品类别查询商品

9、情况的函数void Loading()普通函数登陆系统时的界面void Get_In()普通函数登陆成功后的功能显示void Menu()普通函数实现商品操作的列表void List();普通函数商品类别列表void End()普通函数退出时的结束画面void Error()普通函数打开文件错误时的屏幕显示void Print_SuperMarket(ostream&outfile)各派生类中均有用于将商品信息输出到文件中void Save(ostream&Write_DailyGoods)各派生类中均有用于将商品信息单独保存到文件中需要说明的是:由于本程序类较多,个别重复的类似函数不予放到列

10、表中。7、 关键程序代码源代码:#include#include#includeusing namespace std;class SuperMarket/用于描述货物操作的超市类public:int Add();/增加商品的函数int Sale();/按照商品名称卖出商品的函数int Search();/按照商品类别查询商品情况的函数;void Loading();/登陆系统时的界面void Get_In();/登陆成功后的功能显示void Menu();/实现商品操作的列表void List();/商品类别列表void End();/退出时的结束画面void Error();/打开文件错误

11、时的屏幕显示class Salers/销售人员类private: int salersnum20;string salersname20; string searchdate20;int count;public:Salers(); void showdata();void Print_SuperMarket(ostream&outfile);/用于将员工信息输出到文件中void Save(ostream&Write_Salers);/用于将员工信息单独保存到文件中;/*商品类(Goods)*/class Goodspublic:virtual void AddGoods()=0;/增加商品v

12、irtual void SaleGoods()=0;/出售商品virtual void ShowMe()=0;/显示商品void Sale();/统一定义商品出售函数功能模块protected:string name100;/记录各种商品的名称int number100;/记录各种商品的数量int count;/记录各类商品的各自商品种数;/*日常用品类(DailyGoods)*/class DailyGoods:public Goodspublic:DailyGoods();void AddGoods();void SaleGoods();/friend istream &operator(

13、istream &in,DailyGoods &d);/对DailyGoods类重载运算符,用于从文件中读取日常用品类的信息,暂未使用,有待修改void ShowMe();void Print_SuperMarket(ostream&outfile);/用于将商品信息输出到文件中void Save(ostream&Write_DailyGoods);/用于将商品信息单独保存到文件中;/*食品类(Food)*/class Food:public Goodspublic:Food();void AddGoods();void SaleGoods();/friend istream &operato

14、r(istream&in,Food&f);void ShowMe();void Print_SuperMarket(ostream&outfile);/用于将商品信息输出到文件中void Save(ostream&Write_Food);/用于将商品信息单独保存到文件中private:int SaveTime100;/保质期(天数);/*家电类(ElectricalAppliance)*/class ElectricalAppliance:public Goodspublic:ElectricalAppliance();void AddGoods();void SaleGoods();/fri

15、end istream &operator(istream&in,ElectricalAppliance&e);void ShowMe();void Print_SuperMarket(ostream&outfile);/用于将商品信息输出到文件中void Save(ostream&Write_ElectricalAppliance);/用于将商品信息单独保存到文件中private:string color100;/颜色属性;/*增加商品的函数*/int SuperMarket:Add()int select;system(cls);List();/调用List()函数语言coutselect

16、;return select;/*按照商品名称卖出商品的函数*/int SuperMarket:Sale()int select;system(cls);List();/调用List()函数语言coutselect;return select;/*按照商品类别查询商品情况的函数*/int SuperMarket:Search()int select;system(cls);List();/调用List()函数语言coutselect;system(cls);return select;void Loading()/登陆系统时的界面system(cls);coutendlendl;coutt e

17、ndl;coutt endl;coutt endl;coutt endl;coutt 欢迎进入超市商品管理系统 endl;coutt endl;coutt endl;coutt endl;coutendl;void Get_In()/登陆成功后的功能显示system(cls);/用于清屏coutendl 超 市 商 品 管 理 系 统 endlendl;coutendlttt endl;cout ttt 登录成功 endl;cout ttt endl;coutendlendlttt 进入系统endl;coutendlendlttt 退出系统endl;void Menu()/实现商品操作的列表c

18、outendl 超 市 商 品 管 理 系 统 endlendl;coutttt endlendl;coutttt 增加商品endl;coutttt 出售商品endl;coutttt 查询商品endl; coutttt 查询员工endl;coutttt 返回上一级endlendl;coutttt endlendl;coutttt您要进行的操作是?;void List()/商品类别列表coutendl 超 市 商 品 管 理 系 统 endlendl;coutttendl;coutttt 日常用品类endl;coutttt 食品类endl;coutttt 家电类endl;coutttendlen

19、dl;void End()/退出时的结束画面system(cls);coutendlendl;coutt endl;coutt endl;coutt endl;coutt endl;coutt 欢迎使用超市商品管理系统 endl;coutt endl;coutt endl;coutt endl; coutendlendlendlendlendl;void Error()/打开文件错误时的屏幕显示cerrendlendlendlttendl;cerr tt endl;cerr tt 打开文件错误! endl;cerr tt endl;cerr ttendlendlendlendl;#includ

20、e#includeusing namespace std;void Goods:Sale()/统一定义商品出售函数功能模块int flag=0;string goods_name;int goods_number;coutgoods_name;coutgoods_number;for(int i=0;icount;i+)if(namei=goods_name)if(numberigoods_number)flag=1;coutendltt*endl;cout)oendl;couttt*endl;elseflag=1;numberi-=goods_number;coutendltt*endl;c

21、outtt O(_)O 出售成功!O(_)Oendl;couttt*endl;if(flag=0)coutendltt*endl;couttt (3) 没有该物品!(3)endl;couttt*endl;Salers:Salers()/初始化员工信息count=3;salersnum0=001;salersname0=李华;searchdate0=2013.6.20;salersnum1=002;salersname1=郭明;searchdate1=2013.7.20;salersnum2=003;salersname2=刘涛;searchdate2=2013.8.20;void Salers

22、:showdata()coutendl *_*超市商品管理系统【员工信息区】*_* endlendl;coutendl现有员工:endlendl;for(int i=0;icount;i+) cout 【i+1】员工姓名:setiosflags(ios:left)setw(15)salersnamei;cout现有员工数量:count人endl; cout查询时间:searchdateiendl;cout -endl;void Salers:Print_SuperMarket(ostream&outfile)/将Salers员工信息打印到文件中outfileendl现有员工:endlendl;

23、for(int i=0;icount;i+)outfile【i+1】员工姓名:setiosflags(ios:left)setw(15)salersnamei;outfile现有员工数量:count人endl;outfile查询时间:searchdateiendl;outfileendlendlendlendlendl;void Salers:Save(ostream&Write_Salers)/用于将Salers员工信息单独保存到文件中Write_Salerscountendl;for(int i=0;icount;i+)Write_Salerssalersnamei count运算符的重载

24、,用于读取文件中的信息(暂未用上)*/*istream &operator(istream &in,DailyGoods &d)/读取DailyGoods的已存信息ind.count;for(int i=0;id.nameid.numberi;return in;*/void DailyGoods:AddGoods()/增加日常用品system(cls);int flag=1;ShowMe();coutendl请输入要增加日常用品的信息endlendl;coutnamecount;coutnumbercount;for(int i=0;icount;i+)if(namei=namecount)

25、/判断该物品是否已经存在numberi+=numbercount;flag=0;if(flag) count+;/用于新增物品coutendlendltt*endl;couttt O(_)O 添加商品成功!O(_)Oendl;couttt*endl;void DailyGoods:SaleGoods()system(cls);ShowMe();coutendl请输入要出售的日常用品信息endlendl;Sale();/调用基类Goods里的Sale()函数void DailyGoods:ShowMe()coutendl *_*超市商品管理系统【日常用品区】*_* endlendl;couten

26、dl现有日常用品类商品库存:endlendl;for(int i=0;icount;i+) cout 【i+1】日常用品名称:setiosflags(ios:left)setw(15)namei;cout现存数量:numberi个endl;cout -endl;void DailyGoods:Print_SuperMarket(ostream&outfile)/将DailyGoods类商品信息打印到文件中outfileendl现有日常用品类商品库存:endlendl;for(int i=0;icount;i+)outfile【i+1】日常用品名称:setiosflags(ios:left)se

27、tw(15)namei;outfile现存数量:numberi个endl;outfileendlendlendlendlendl;void DailyGoods:Save(ostream&Write_DailyGoods)/用于将DailyGoods商品信息单独保存到文件中Write_DailyGoodscountendl;for(int i=0;icount;i+)Write_DailyGoodsnamei numberiendl;/*食品类(Food)的函数定义*/Food:Food()/初始化货存食品信息count=6;name0=苹果;number0=350;SaveTime0=15;

28、name1=香蕉;number1=40;SaveTime1=7;name2=梨;number2=300;SaveTime2=10;name3=西红柿;number3=50;SaveTime3=5;name4=西瓜;number4=350;SaveTime4=20;name5=芒果;number5=450;SaveTime5=20;void Food:AddGoods()/增加食品system(cls);int flag=1;ShowMe();coutendl请输入要增加的食品的信息endlendl;coutnamecount;for(int i=0;icount;i+)if(namei=nam

29、ecount)/判断该物品是否已经存在coutnumbercount;numberi+=numbercount;flag=0;if(flag)coutnumbercount;coutSaveTimecount;count+;/用于新增物品coutendlendltt*endl;couttt O(_)O 添加商品成功!O(_)Oendl;couttt*endl;void Food:SaleGoods()system(cls);ShowMe();coutendl请输入要出售的食品信息endlendl;Sale();/调用基类Goods里的Sale()函数void Food:ShowMe()cout

30、endl *_*超市商品管理系统*_*【食品区】 endlendl;coutendl现有食品类商品库存:endlendl;for(int i=0;icount;i+)cout 【i+1】食品名称:setiosflags(ios:left)setw(15)namei;cout现存数量:setw(4)numberisetw(8)千克;cout保质期:setw(3)SaveTimei天endl;cout -endl;void Food:Print_SuperMarket(ostream&outfile)/将Food类商品信息打印到文件中outfileendl现有食品类商品库存:endlendl;fo

31、r(int i=0;icount;i+)outfile【i+1】食品名称:setiosflags(ios:left)setw(15)namei;outfile现存数量:setw(4)numberisetw(8)千克;outfile保质期:setw(3)SaveTimei天endl;outfileendlendlendlendlendl;void Food:Save(ostream&Write_Food)/用于将Food商品信息保存到文件中Write_Foodcountendl;for(int i=0;icount;i+)Write_Foodnamei numberi SaveTimeiendl

32、;/*家电类(ElectricalAppliance)的函数定义*/ElectricalAppliance:ElectricalAppliance()/初始化货存家电信息count=3;name0=电视;number0=65;color0=黑色;name1=空调;number1=36;color1=白色;name2=冰箱;number2=52;color2=红色;void ElectricalAppliance:AddGoods()/增加家电system(cls);int flag=1;ShowMe();coutendl请输入要增加的家电的信息endlendl;coutnamecount;fo

33、r(int i=0;icount;i+)if(namei=namecount)/判断该物品是否已经存在coutnumbercount;numberi+=numbercount;flag=0;if(flag)coutnumbercount;coutcolorcount;count+;/用于新增物品coutendlendltt*endl;couttt O(_)O 添加商品成功!O(_)Oendl;couttt*endl;void ElectricalAppliance:SaleGoods()system(cls);ShowMe();coutendl请输入要出售的家电信息endlendl;Sale(

34、);/调用基类Goods里的Sale()函数void ElectricalAppliance:ShowMe()coutendl *_*超市商品管理系统*_*【家电区】 endlendl;coutendl现有家电类商品库存:endlendl;for(int i=0;icount;i+)cout 【i+1】家电名称:setiosflags(ios:left)setw(15)namei;cout现存数量:numberisetw(6)台;cout颜色:coloriendl;cout -endl;void ElectricalAppliance:Print_SuperMarket(ostream&out

35、file)/将ElectricalAppliance类商品信息打印到文件中outfileendl现有家电类(ElectricalAppliance)商品库存:endlendl;for(int i=0;icount;i+)outfile【i+1】家电名称:setiosflags(ios:left)setw(15)namei;outfile现存数量:numberisetw(6)台;outfile颜色:coloriendl;outfileendlendlendlendlendl;void ElectricalAppliance:Save(ostream&Write_ElectricalApplian

36、ce)/用于将ElectricalAppliance商品信息保存到文件中Write_ElectricalAppliancecountendl;for(int i=0;icount;i+)Write_ElectricalAppliancenamei numberi coloriendl;#include#include/用于控制运行窗口属性的必要头文件#include/文件操作using namespace std;int main(int argc,char *argv)system(title 超市商品管理系统);/设置DOS运行窗口的标题/system(mode con cols=80 l

37、ines=25 &color 1f);/设置运行窗口的属性string PassWord2;/设置登陆密码string password=123456;/用于保存真正的密码int choice=1,select;/用于选择菜单int sign=1;/控制循环DailyGoods dailygoods;Food food;ElectricalAppliance electricalappliance;Salers salers;SuperMarket supermarket;/*创建文件,用于读取与输出信息*/system(md C:SuperMarket);/在(C:)盘新建一个SuperMa

38、rket文件夹system(cls);ofstream outfile(C:SuperMarketSuperMarket.txt,ios:out);/创建SuperMarket.doc文件,用于保存商品信息if(!outfile)Error();/调用Error()语句exit(1);ofstream New_DailyGoods(C:SuperMarketDailyGoods.dat,ios:out);/首先建立一个DailyGoods文件保存DailyGoods信息if(!New_DailyGoods)Error();/调用Error()语句exit(1);fstream Write_Da

39、ilyGoods(C:SuperMarketDailyGoods.dat,ios:in|ios:out);/实现对DailyGoods文件的可读可写if(!Write_DailyGoods)Error();/调用Error()语句exit(1);ofstream New_Food(C:SuperMarketFood.dat,ios:out);/首先建立一个Food文件保存Food信息if(!New_Food)Error();/调用Error()语句exit(1);fstream Write_Food(C:SuperMarketFood.dat,ios:in|ios:out);/实现对Food文

40、件的可读可写if(!Write_Food)Error();/调用Error()语句exit(1);ofstream New_ElectricalAppliance(C:SuperMarketElectricalAppliance.dat,ios:out);/首先建立一个ElectricalAppliance文件保存ElectricalAppliance信息if(!New_ElectricalAppliance)Error();/调用Error()语句exit(1);fstream Write_ElectricalAppliance(C:SuperMarketElectricalAppliance.dat,ios:in|ios:out);/实现对ElectricalAppliance文件的可读可写if(!Write_ElectricalAppliance)Error();/调用Error()语句exit(1);/*主程序实现代码*/Load:/一个goto语句的标签Loading();/调用Loading()语句int mima;cout请输入您的个人密码(员工001为100):

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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