超市管理系统.docx
- 文档编号:7212291
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:15
- 大小:88.43KB
超市管理系统.docx
《超市管理系统.docx》由会员分享,可在线阅读,更多相关《超市管理系统.docx(15页珍藏版)》请在冰豆网上搜索。
超市管理系统
河南城建学院
《面向对象程序设计》课程设计报告书
设计题目:
超市管理系统
指导老师:
学生学
学生姓名:
同组人员:
时间:
第一章选题...............................................................................................2
1.1题目背景........................................................................................2
1.2系统实现的具体分工....................................................................2
1.3标题..............................................................................................2
1.4开发环境........................................................................................2
第二章设计内容.....................................................................................3
2.1实现功能..........................................................................................3
2.2概要设计(涉及类的框图).........................................................3
2.3界面设计..........................................................................................4
第三章系统实现......................................................................................5
3.1涉及知识点.......................................................................................5
3.2系统运行(主要运行界面抓图及实现代码)...............................5
第四章结束语.............................................................................................14
第1章选题
1.1题目背景
20世纪90年代后期特别是近几年,我国的超市产业飞速发展,其经营模式更为复杂,旧的管理体制已经无法适应超市的发展,这就迫切的需要引进新的管理技术。
超市的数据和业务越来越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系统应运而生。
依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。
1.2系统实现的具体分工
超市管理系统包括:
增加超市商品、显示超市商品、修改超市商品、查找超市商品、删除超市商品、排序统计商品、安全退出系统等几个模块。
其中显示超市系统实现对商品信息的描述,修改超市系统实现对商品信息的及时更新。
main()函数实现对程序主界面的引导。
1.3标题
超市商品管理系统
1.4开发环境
VisualC++6.0
机型:
方正电脑
处理器名称:
Intel(R)Core(TM)2DuoCPUE7200@2.53GHz
硬盘驱动器:
WDCWD1600AAJS-22WAAO
系统内存:
金士顿内存2GB
显示卡:
NVIDIAGeFORCE9400GT
显示器:
方正科技FG981-W9
操作系统:
MicrosoftWindowsXPProfessional
第2章设计内容
2.1实现功能
管理系统主要包括对商品种类的增加,商品信息的修改,以及商品信息的查询等等。
2.2概要设计(涉及类的框图)
图2.1-1类的结构图
2.3界面设计
界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分。
结构设计StructureDesign
结构设计也称概念设计(ConceptualDesign),是界面设计的骨架。
该超市商品管理系统运行时界面上的目录体系和词语定义易于用户理解和操作,例如主界面的目录体系包括1增加超市商品、2显示超市商品、3排序统计商品、4查找超市商品、5删除超市商品、6修改超市商品、0安全退出系统。
充分体现了结构化的界面设计理念。
交互设计InteractiveDesign
交互设计的目的是使产品让用户能简单使用。
任何产品功能的实现都是通过人和机器的交互来完成的。
该超市商品管理系统中包含1)清楚的错误提示,误操作后,系统提供有相应的提示。
2)使用用户的语言,而非技术的语言。
3)方便退出。
视觉设计VisualDesign该管理系统界面清晰明了,在结构设计的基础上,参照目标群体的心理模型和任务达成进行了视觉设计。
第3章系统实现
3.1涉及知识点
类封装、构造函数、析构函数、循环语句的使用、switch语句、指针等等。
3.2系统运行(主要包括运行界面抓图及主要代码)
(1)主界面
图3.2-1主界面截图
主要实现代码如下:
//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌commodity类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
classcommodity
{
public:
charname[20];
charId[20];
intbuy;//进货价;
intsale;//卖出价;
intamount;//数量;
intsum;//利润;
commodity*Next;
voidInput()
{
cout<<"\t\t请输入商品的名称:
";cin>>name;
cout<<"\t\t请输入商品的编号:
";cin>>Id;
cout<<"\t\t请输入进货价:
";cin>>buy;
cout<<"\t\t请输入售出价:
";cin>>sale;
cout<<"\t\t请输入商品数量:
";cin>>amount;
sum=(sale-buy)*amount;
}
voidReadFile(istream&in)
{
in>>name>>Id>>sale>>buy>>sum;
}
voidShow()
{
cout<<"商品名"< "< "<< amount<<"预计总利润: "< } }; //﹌﹌﹌﹌﹌﹌﹌﹌﹌Commoditymassage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ classCommoditymassage { public: Commoditymassage(); ~Commoditymassage(); voidShowMenu(); voidFind(); voidSave(); voidModifyItem(); voidRemoveItem(); voidSwap(commodity*,commodity*); voidSort(); intListCount(); voidDisplay() { for(commodity*p=Head->Next;p! =End;p=p->Next) p->Show(); cout<<"输入任意字符! 继续……"; getch(); } voidAddItem() { End->Input(); End->Next=newcommodity; End=End->Next; cout<<"添加成功! "< cout<<"输入任意字符! 继续……"; getch(); } private: commodity*Head,*End; ifstreamin; ofstreamout; commodity*FindItem(char*name) { for(commodity*p=Head;p->Next! =End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空 if(! strcmp(p->Next->name,name))returnp; returnNULL; } commodity*FindID(char*Id) { for(commodity*p=Head;p->Next! =End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空 if(! strcmp(p->Next->Id,Id))returnp; returnNULL; } }; (2)查找商品信息 图3.2-2查找商品信息截图 主要实现代码: voidCommoditymassage: : Find() { charname[20],Id[10]; intx; commodity*p=NULL; cout<<"\n\t\t*********************************\n"; cout<<"\t\t※1.按商品的名称查找\n\t\t※2.按商品编号查找"; cout<<"\n\t\t*********************************\n请选择: "; cin>>x; switch(x) { case1: {cout<<"\t\t请输入要查找的商品的名称: ";cin>>name; if(p=FindItem(name)) { p->Next->Show(); cout<<"输入任意字符! 继续……"; getch(); } else { cout<<"\t\t没有找到该名称的商品! "<<'\n'< cout<<"输入任意字符! 继续……"; getch(); } }break; case2: { cout<<"\t\t请输入要查找的商品的编号: ";cin>>Id; if(p=FindID(Id)) { p->Next->Show(); cout<<"输入任意字符! 继续……"; getch(); } else { cout<<"\t\t没有找到该编号的商品! "<<'\n'< cout<<"输入任意字符! 继续……"; getch(); } }break; } } (3)商品排序 图3.2-3商品排序系统截图 //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ voidCommoditymassage: : Sort()//对当前链表进行排序 { cout<<"Sorting..."< commodity*p=NULL,*p1=NULL,*k=NULL; intn=Commoditymassage: : 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->sum>k->sum) { Commoditymassage: : Swap(p,k); } } cout<<"按预计利润排序\n"; for(commodity*q=Head->Next;q! =End;q=q->Next) q->Show(); cout<<"排序完成! "< cout<<"输入任意字符! 继续……"; getch(); return; } (4)删除商品信息 图3.2-4删除商品信息截图 主要实现代码如下: //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌删除信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ voidCommoditymassage: : RemoveItem()//删除信息 { charname[20]; commodity*p=NULL,*temp=NULL; cout<<"\t\t请输入要删除的商品的名称: "< if(p=FindItem(name)) { temp=p->Next; p->Next=p->Next->Next; deletetemp; cout<<"\t\t删除成功! "< cout<<"输入任意字符! 继续……"; getch(); } else { cout<<"\t\t没有找到! "< cout<<"输入任意字符! 继续……"; getch(); } } (5)显示修改后的信息截图 图3.2-5显示修改后的商品信息截图 主要实现代码如下: //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ voidCommoditymassage: : Swap(commodity*p1,commodity*p2)//交换两个combox变量的数据域 { commodity*temp=newcommodity; strcpy(temp->name,p1->name); strcpy(temp->Id,p1->Id); temp->sale=p1->sale; temp->buy=p1->buy; temp->sum=p1->sum; strcpy(p1->name,p2->name); strcpy(p1->Id,p2->Id); p1->sale=p2->sale; p1->buy=p2->buy; p1->sum=p2->sum; strcpy(p2->name,temp->name); strcpy(p2->Id,temp->Id); p2->sale=temp->sale; p2->buy=temp->buy; p2->sum=temp->sum; } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ intCommoditymassage: : ListCount()//统计当前链表的记录总数,返回一个整数 { if(! Head) return0; intn=0; for(commodity*p=Head->Next;p! =End;p=p->Next) { n++; } returnn; } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ voidCommoditymassage: : Sort()//对当前链表进行排序 { cout<<"Sorting..."< commodity*p=NULL,*p1=NULL,*k=NULL; intn=Commoditymassage: : 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->sum>k->sum) { Commoditymassage: : Swap(p,k); } } cout<<"排序完成! "< getch(); return; } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ voidCommoditymassage: : Save() { out.open("sort.txt"); for(commodity*p=Head->Next;p! =End;p=p->Next) out< out.close(); 第4章结束语 经过一个星期的艰苦努力,我终于完成了超市商品管理系统的全部设计过程,并使该系统达到可实际应用的阶段。 软件设计是一个精细漫长的过程。 在整个过程中,都需要周密的计划和安排,每一个步骤,都需要按照软件工程标准来完成。 在设计中,我始终坚持理论指导实践原则,并通过实践来加强理论的学习,通过学习锻炼,我熟悉了软件的一般过程,加强了对实际问题的处理能力。 实践证明,在高科技突飞猛进的时代,光靠课堂所学的知识是远远不够的,必须依靠实践去不断的深化认识,尤其是计算机科学,操作性和实践性很强,只有加强实际的动手能力,才能更好的掌握这一现代化工具。 另外,从这次的课程设计中,我也知道了合作的重要性。 课程设计中涉及的知识点比较多,功能比较繁杂,倘若没有一个好的团队,没有默契的配合,对于我们这些并没有深入学习C++的学生来说很难独自完成这样一个系统。 团队在一起可以相互讨论,分工合作,这样也比较容易分析解决问题。 团队需要个人,个人也离不开团队,必须发扬团结协作的精神。 刚开始的时候,大家就按照分配好了的任务进行,并且经常聚在一起讨论各个方案的可行性。 在课程设计中只有一个人的知识是远远不够的,必须要结合每个人的知识,否则一个人的错误,就有可能导致整个工作失败。 团结协作是我们成功的一项非常重要的保证。 通过本次课程设计,我深刻认识到了“理论联系实际”的这句话的重要性与真实性,我不但知道了以前不知道的理论知识,而且也巩固了以前知道的知识。 最重要的是在实践中理解了书本上的知识,明白了学以致用的真谛。 也明白老师为什么要求我们做好这个课程设计的原因。 他是为了教会我们如何运用所学的知识去解决实际的问题,提高我们的动手能力。 在整个设计到按各种功能输出以及调试过程中,我个人感觉调试部分是最难的,我们把运行错误和不能运行的部分一遍遍的修改直到达到预期的效果。 初拿到题目觉得很沮丧,虽然学了这么久的C++语言,但还是觉得它很深奥,对它几乎是一无所知。 如何着手? 在接下来的时间里大家集思广益,在一起认真讨论,不甚理解的问题去查阅一些资料。 然后写代码,运行调试……虽然在这个过程中遇到了很多问题,有时候甚至为某个地方而茶饭不思。 但程序编辑成功后那种激动,问题解决中遇到挑战自己亲自动手,终于解决那种成就感,几个人一起讨论,一起分析,同悲同喜那种患难与共的感觉,都使我们深深地体会到了感到学习的快乐和团结的力量,也让我们真正学习到了一些的知识,使我们感到前途是光明的、充满挑战与趣味的。 计算机专业是一个需要紧密合作的工作,只有在一起合作才能高做出好的程序,但在其中也有一些的问题是我们都不能理解的,有很多是我们上课没有碰到的一些的问题真的是很让人头疼的。 通过这次编程使我们认识到在以后的学习中要多做练习增加自己的知识面才能更好的适应自己的工作,在其中由最初的沮丧中出来,充满信心地去解决问题。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 在设计的过程中遇到问题,可以说得是困难重重,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说文件的操作,类的用法……通过这次课程设计之后,我决定一定把以前所学过的知识重新温故。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指导下,以及同学们的帮助下,最终迎刃面解。 在此我向各位和那些帮助过我的同学们表示最衷心的感谢! 参考文献 [1]张基温,陈佳,信息系统开发清华大学出版社2006年 [2]卫红春,信息系统分析与设计西安电子科技大学出版社2003年 [3]黄梯云,管理信息系统高等教育出版社2005年 [4]方美琪陈禹,软件开发工具经济科学出版社2008年 [5]袁然,王诚梅,SQLServer2005数据库简明教程电子工业出版2006年
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 管理 系统