C超市商品管理系统课程设计报告.docx
- 文档编号:14765929
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:19
- 大小:119.35KB
C超市商品管理系统课程设计报告.docx
《C超市商品管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《C超市商品管理系统课程设计报告.docx(19页珍藏版)》请在冰点文库上搜索。
C超市商品管理系统课程设计报告
文档编制序号:
[KKIDT-LLE0828-LLETD298-POI08]
C超市商品管理系统课程设计报告
《面向对象程序设计》
课程设计报告
学院:
_电气与信息工程学院专业班级:
计科13-01班
学生姓名:
胡凯学号:
设计地点(单位)_______计算机自主学习中心_________
设计题目:
________超市商品管理系统___________
完成日期:
2015年1月12日
指导教师评语:
_______________________________________
____________________________________________________________________________________________________________________________________________________________________________________________________________________
成绩(五级记分制):
________________
指导教师(签字):
_______________
摘要
此次课程设计为超市管理系统,由编译器编译而成。
通过本系统,在主界面可以通过行管提示的操作,对商品进行购买、添加、修改、删除、查询、统计等管理操作。
系统主要包含了食品、化妆品、日用品、饮料四大类,每一类都包含了商品的几大最基本信息,商品名称、品牌、价格、生产厂家、库存量等。
除四大类外有一个总的商品基类,通过继承机制进行访问基类,同时也结合运用了模板。
通过此系统用户可以简洁方便的购买商品,管理人员也可轻松进行商品管理,从而实现高效的管理模式,为公司企业商家等创造最大化的经济效益。
关键词:
管理系统基类继承模板
重庆科技学院
课程设计任务书
设计题目:
超市商品管理系统设计
学生姓名
胡凯
课程名称
面象对象程序设计课程序设计
专业班级
计科13
地点
I313
起止时间
设计内容及要求
1)问题描述
超市中商品分为四类,分别是食品、化妆品、日用品和饮料。
每种商品都包含商品名称、价格、库存量和生产厂家、品牌等信息。
主要完成对商品的销售、统计和简单管理。
2)功能要求
(1)销售功能。
购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品的相关信息。
如果有库存量,输入购买的数量,进行相应计算。
如果库存量不够,给出提示信息,结束购买。
(2)商品简单管理功能。
添加功能:
主要完成商品信息的添加。
查询功能:
可按商品类别、商品名称、生产厂家进行查询。
若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记录不存在!
”。
修改功能:
可根据查询结果对相应的记录进行修改。
删除功能:
主要完成商品信息的删除。
先输入商品类别,再输入要删除的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库中,则提示“该商品不存在”。
(3)统计功能。
输出当前库存中所有商品的总数及详细信息;可按商品的价格、库存量、生产厂家进行统计,输出统计信息时,要按从大到小进行排序。
3)问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。
设计
参数
(1)系统分析、设计正确。
(2)结果以图表方式显示。
(3)界面简洁、美观。
(4)报告格式规范。
进度
要求
18周星期一8:
30~12:
10任务分配,了解需求,并制定课程设计计划
18周星期二8:
30~12:
10软件需求任务,并完成初步的设计,模块设计,文档设计
18周星期三8:
30~12:
10完成项模块设计,接口设计,类的功能模块设计
18周星期四8:
30~12:
10完成项类的算法计,
18周星期五8:
30~12:
10编写程序算法
19周星期一8:
30~12:
10编写程序算法
19周星期二8:
30~12:
10编写程序算法,软件调试,测试
19周星期三8:
30~12:
10软件调试,测试,并准备软件开发文档
19周星期四8:
30~12:
10编写课程设计报告,准备答辩
19周星期五8:
30~12:
10报告提交,答辩。
参考资料
[1].《面向对象程序设计—C++语言描述》.机械工业出版社.2009年
[2]钱能.《C++语言程序设计教程》.清华大学出版社.2005年
其它
说明
1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。
2.若填写内容较多可另纸附后。
3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。
教研室主任:
王双明指导教师:
裴仰军/伍建全/焦晓军2014年12月10日
1软件需求分析说明书
需求分析
随着科技的进步,计算机技术的飞速发展,许多企业在进行技术改造的同时,各种工作也趋向于信息技术化管理。
管理系统事一个信息化、智能化和先进管理集合,一个高效有用的管理系统课一减少一个企业或者上商家的管理费用和人力物力开支,不仅可以节省大量时间,还可以为企业的各项决策带来巨大的经济效益。
与人们生活接触最贴近的超市也有它自己完善的管理系统。
计算机的自动化管理系统提高了超市管理的管理水平和工作效率,增强超市的竞争能力降低成本,为客户提供更加优质的服务。
所以需要开发一个计算机系统来代替人工管理超市人员对商品信息管理和顾客购买等方面的工作。
使用该系统可以使超市的服务更加快捷、准确和方便,减少大量的人工操作,提高了工作效率。
功能简介
本功能主要是针对消费者用户使用。
在购买商品时,用户得输入所要购买商品的编号和商品数量,然后系统会自动在库存当中查找该商品的相关信息,如果在库存中还有库存量,则用户接着进行下一步操作,根据提示输入要购买的商品的数量,进行相应的计算。
如果库存量不够,则系统会给出提示信息,然后询问顾客是否重新购买,又回到系统页面主菜单。
商品管理功能主要是针对超市管理人员使用,对库存商品进行简单的管理。
本功能当中主要可以实现商品的添加、查询、修改、删除等功能。
(1)添加商品
通过主页面提示菜单键入相对应数字进入添加商品选项,然后根据提示添加商品信息,主要包括商品名称、商品编号、商品品牌、商品价格、商品生产厂家、以及商品的库存量等。
(2)删除商品
通过主页面的提示菜单键入相应数字进入删除商品选项,完成最商品信息的删除。
选择输入要删除商品的编号,根据查询结果删除商品的记录,如果该商品在库存物品当中不存在,则系统给出相应提示,该商品不存在。
(3)修改商品
通过主页面的提示菜单键入相应数字进入修改商品选项,对商品信息进行修改。
可根据查询的结果对相应的商品信息进行修改,包括商品的名称、品牌、价格、生产厂家和库存量等。
(5)查询商品
通过主页面的提示菜单键入相应数字进入查询商品选项,对商品信息进行查询。
可根据相应提示选择查询方式,按商品编号,商品名称进行查询商品的全部信息。
如果存在相应商品的信息,则输出所查询商品的信息,如果不存在该商品的记录,则系统自动提示该商品的记录不存在。
此功能主要是提供显示功能。
用户可通过主页面的显示菜单键入相应的数字进入统计选项,可以输出当前库存当中的所有商品的总数及相应商品的详细信息,可以按照商品的进价格、库存量、净利润进行统计,输出商品信息时可以按照商品的对应信息按照从大到小的的顺序进行排序输出。
界面介绍与要求
本系统的软件界是使用C++编译生成的一个系统操作菜单。
操作菜单界面总共有9个选项可以供用户操作选择,分别为增加商品、显示商品、排序商品、查找商品、删除商品、修改商品、售出商品、保存商品信息、安全退出。
菜单页面下方有可供用户选择操作项目的指令,当用户选择并输入0-8中的任意数字,系统便会进入相应的功能操作。
如果出现错误操作,系统会该处输入错误请从新输入等提示或者自动跳出回到主菜单界面。
页面的组织和设计要求先构思好系统的功能模块和结构框架,分析系统中的各个实体以及它们间的具体联系关系,根据问题的描述先设计好系统的类层次,完成类层次中各个成员函数的定义,实现每一个模块层次之间的衔接,从而设计出工整漂亮的管理系统,要求整个系统的界面设计简洁、美观,让用户使用起来方便快捷。
数据结构要求
在整个系统当中除了使用类层次结构、继承机制、模板等,还使用的了数据结构当中的链表结构,主要用来进行商品的管理功能。
包括商品的添加、修改、删除、查询等。
可以通过链表进行存储、访问操作。
通过动态申请链表空间,用指针操作数据节点完成商品信息的一系列操作。
2系统分析与设计
系统分析
系统的主要工作流程图如下,当进入操作主菜单界面时,会有相应的不同的操作选项供用户选择,但操作完成后就返回到系统主菜单。
图系统类的设计关系图
图首页面功能关系图
系统的算法设计
当用户选择操作时,便进入购买商品的函数。
其流程图如下:
图商品购买操作流程图
其流程图如下
图商品添加操作流程图
其流程图如下:
图商品修改操作流程图
其流程图如下:
图商品统计功能流程图
3软件的实现
主系统头文件和基类的定义
#include
#include
#include<>
#include<>
#include<>."< cout<<"\n"; Goods*p=NULL,*p1=NULL,*k=NULL; intn=Goodsmessage: : ListCount(); if(n<2) return; for(p=Head->Next;p! =End;p=p->Next) for(k=p->Next;k! =End;k=k->Next) { if(p->buyprice>k->buyprice) { Goodsmessage: : Swap(p,k); } } Display(); cout<<"排序完成! "< getch(); return; } } 4系统功能实现 系统功能主菜单界面实现 图系统主菜单页面 商品售出界面实现 图购买商品操作界面 商品添加界面实现 图添加商品操作界面 商品修改界面实现 图修改商品操作界面 商品排序界面实现 图商品排序操作界面 软件使用说明书 售出功能模块的使用说明 在使用本系统首先会进入系统首页面上面有相应数字操作提示,请选择要进行的操作项目,用户键入7便进入售出商品功能。 根据相关提示输入选择商品编号,然后输入商品数量,并且在库存当中进行查找所要购买的商品信息,如果有库存量,然后系统会进行相应的费用计算,如果库存量不够,系统会给出相关的提示信息,结束本次购买,返回主页面。 商品管理功能的使用说明 在本管理模块主要有四个功能,即商品添加功能、删除功能、修改功能、查询功能,主要适用于超市商品管理人员对库存商品进行管理。 根据首页面的提示信息进入相依的操作。 键入1便进入添加商品功能,会提示用户键入商品的名称,然后选择种类、再依次输入品牌、价格、生产厂家、库存量等信息,然后自动保存。 键入5便进入删除商品功能,选择输入商品编号,系统进行相应的查询,如果没有找到该商品的记录,则会提示该商品不在物品库当中,如果有则进行删除并且提示删除成功。 键入6便进入修改商品的功能,按需要修改的内容输入相应的商品编号,系统在商品库中进行对比查找,然后进行修改提示,选择要进行修改的项目,并且进行保存,如果没有找到则提示没有找到所要修改商品的信息。 键入4便进入商品查询功能,查询方法分编号和名称两种方式查询,查询结束后显示所查询到商品的所有信息。 程序源代码 #include #include #include<> #include<> #include<>品2.化妆品3.日用品4.饮料\n" <<"********************************************************************************\n"< break;} case2: { system("cls"); cout<<"▉▉▉▉▉▉▉▉▉▉☆超市商品管理系统☆▉▉▉▉▉▉▉▉▉▉"< cout<<"▉▉▉▉▉▉▉▉▉★☆1.增加超市商品☆★▉▉▉▉▉▉▉▉▉"< cout<<"▉▉▉▉▉▉▉▉▉★☆2.显示超市商品☆★▉▉▉▉▉▉▉▉▉"< cout<<"▉▉▉▉▉▉▉▉▉★☆3.排序统计商品☆★▉▉▉▉▉▉▉▉▉"< cout<<"▉▉▉▉▉▉▉▉▉★☆4.查找超市商品☆★▉▉▉▉▉▉▉▉▉"< cout<<"▉▉▉▉▉▉▉▉▉★☆5.删除超市商品☆★▉▉▉▉▉▉▉▉▉"< cout<<"▉▉▉▉▉▉▉▉▉★☆6.修改超市商品☆★▉▉▉▉▉▉▉▉▉"< cout<<"▉▉▉▉▉▉▉▉▉★☆7.售出超市商品☆★▉▉▉▉▉▉▉▉▉"< cout<<"▉▉▉▉▉▉▉▉▉★☆8.保存超市商品信息☆★▉▉▉▉▉▉▉▉▉"< cout<<"▉▉▉▉▉▉▉▉▉★☆0.安全退出系统☆★▉▉▉▉▉▉▉▉▉"< cout<<"\t\t\n\t\t\t\t请选择: 0-8"< break;} case3: { system("cls"); cout<<"********************************************************************************\n" <<"\t1.修改商品名4.修改进货价\t\t7.修改净利润\n" <<"\t2.修改种类5.修改售出价\t\t8.修改修改商品产地\n" <<"\t3.修改编号6.修改剩余商品量\t\t9.修改生产商品牌\n" <<"\t\t\t\t10.修改全部\n" <<"********************************************************************************"< cout<<"\t\t\n\t\t\t\t请选择: 0-10"< break; } case4: { system("cls"); cout<<"********************************************************************************\n" <<"\t1.按进货价排序2.按库存量排序3.按净利润排序\n" <<"********************************************************************************"< cout<<"\t\t\n\t\t\t\t请选择: 0-3"< break; } case5: { system("cls"); cout<<"\n\t\t*********************************\n"; cout<<"\t\t*****1.按商品的名称查找*****\n\t\t*****2.按商品编号查找*****"; cout<<"\n\t\t*********************************\n请选择: 0-2"; break; } } } voidGoodsmessage: : Find()."< cout<<"\n"; Goods*p=NULL,*p1=NULL,*k=NULL; intn=Goodsmessage: : ListCount(); if(n<2) return; for(p=Head->Next;p! =End;p=p->Next) for(k=p->Next;k! =End;k=k->Next) { if(p->buyprice>k->buyprice) { Goodsmessage: : Swap(p,k); } } Display(); ("进货价.txt"); for(Goods*q=Head->Next;q! =End;q=q->Next) out< (); cout<<"保存信息成功"< cout<<"排序完成! "< getch(); return; } case2: { system("cls"); cout<<"\t\t排序中..."< cout<<"\n"; Goods*p=NULL,*p1=NULL,*k=NULL; intn=Goodsmessage: : ListCount(); if(n<2) return; for(p=Head->Next;p! =End;p=p->Next) for(k=p->Next;k! =End;k=k->Next) { if(p->amount>k->amount) { Goodsmessage: : Swap(p,k); } } Display(); ("库存量.txt"); for(Goods*q=Head->Next;q! =End;q=q->Next) out< (); cout<<"保存信息成功"< cout<<"排序完成! "< getch(); return; } case3: { system("cls"); cout<<"\t\t排序中..."< cout<<"\n"; Goods*p=NULL,*p1=NULL,*k=NULL; intn=Goodsmessage: : ListCount(); if(n<2) return; for(p=Head->Next;p! =End;p=p->Next) for(k=p->Next;k! =End;k=k->Next) { if(p->profit>k->profit) { Goodsmessage: : Swap(p,k); } } Display(); ("净利润.txt"); for(Goods*q=Head->Next;q! =End;q=q->Next) out< (); cout<<"保存信息成功"< cout<<"排序完成! "< getch(); return; } } } voidGoodsmessage: : Save()++程序设计[M].北京: 清华大学出版社,2004. [2]邓文新.C++语言程序设计方法[M].北京: 清华大学出版社,2010. [3]刘维富.C++程序设计实验与编程实践[M].北京: 高等教育出版社,2007. [4]谭浩强.C++语言程序设计题解与上机指导[M].北京: 清华大学出版社,2010. [5]孟宪福.C++语言程序设计教程[M].北京: 清华大学出版社,2008. 致谢 为期两周的C++课程设计终于结束,最初从指导老师讲解个任务相关的基础知识,下来自己查阅相关资料熟悉任务要求,接下来两天进行查阅相关资料学习相关的基础知识,逐步加深对个知识点的了解和掌握,然后构思系统模块和层次结构,在有了具体的想法后便开始进行系统程序代码的的编程、测试,最终实现整个系统的功能和要求。 在整个实践过程当中,当然不是一帆风顺的,整个学期所学的知识点基本都要在这一个系统当中运用,有些知识点用起来很顺手,有些知识板块还是不能很好掌握。 对于模板的学习和掌握不够,用起来十分生疏,还有文件的处理、以及整个系统类的继承机制处理不是很明确,一开始所有单个类的函数功能基本都实现,到把所有的层次结构统筹规划关联起来时就出问题,不知该从何下手。 于是请教指导老师和班级当中学的较好的同学请教指点,最终完成了整个系统的功能实现。 通过一学期C++程序设计的学习,让自己收获了不少新的知识,同时也让自己感受到收获的喜悦,通过自己的努力,将一个程序从头到尾一步步完成,一个个错误的解决,一个个知识点的回顾掌握学习,慢慢的积累学习,养成好的变成习惯和严谨的逻辑思维。 在此,感谢指导老师的细心解释,朋友同学的热情帮助,在你的帮助下,让自己收获知识,弥补不足受益匪浅。 也让我深刻体会到学海无涯,用正确的态度面对学习的挑战,奖励路联系实际,进一步熟练掌握科学知识完善自己,为后面自己的学习,工作打下坚实的基础。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 商品 管理 系统 课程设计 报告