首页 C++超市管理系统的设计与实现

C++超市管理系统的设计与实现

举报
开通vip

C++超市管理系统的设计与实现...目录TOC\o"1-3"\h\u二、程序的主要功能30九、存在的不足与对策15十、程序源代码151、需求分析中小型超市采购的商品一般都成千上万件。对这些商品进行有效的管理必不可少。每件商品一般都需要记录商品名、条形码、类别、价格、出厂日期等商品的基本信息。除此之外,还需要记录商品的其他相关信息,如生产厂家、供货处代码、厂家网址、厂家电话等。超市商品的相关信息需要存储到文件系统中,一般都需要提供对商品信息的添加、编辑、删除等操作。超市管理员每天都会记录购进的商品信息,核销过期的商品等。 为了巩固我们所学的C++...

C++超市管理系统的设计与实现
...目录TOC\o"1-3"\h\u二、程序的主要功能30九、存在的不足与对策15十、程序源代码151、需求分析中小型超市采购的商品一般都成千上万件。对这些商品进行有效的管理必不可少。每件商品一般都需要记录商品名、条形码、类别、价格、出厂日期等商品的基本信息。除此之外,还需要记录商品的其他相关信息,如生产厂家、供货处代码、厂家网址、厂家电话等。超市商品的相关信息需要存储到文件系统中,一般都需要提供对商品信息的添加、编辑、删除等操作。超市管理员每天都会记录购进的商品信息,核销过期的商品等。 为了巩固我们所学的C++语言程序设计知识,也为了满足课程设计的要求,我们在对几个中小型超市进行调研的基础上,设计和实现一个小型的超市商品管理系统,提供商品系统的添加、删除、编辑等功能。同类系统多数使用结构体数组来操作数据,本系统使用链表结构操作数据,提高了数据处理的效率。2、程序的主要功能1、添加功能:添加商品信息:有商品代码、商品名称、产地、商品单价、库存量等。2、删除功能:根据商品的名称,在添加的商品中进行删除。3、显示功能:能将已经添加或者进行修改的商品信息进行显示。4、修改功能:根据商品的民称,在添加的商品中进行修改,将这个商品的所有信息都进行修改。5、查找功能:根据商品名称或者编号进行查找,查找功能有两个查找方式,以备不时之需。6.文件保存将添加,修改,删除后的商品信息进行保存。3、程序运行平台VC++6.0和DEVC++4、系统总框架图图片1五、程序类的说明本程序定义了两个类Supermarket类classSupermarket{public:charname[20];charNum[20];intCnum;//进货总数intMnum;//销售数目intEnum;//剩余库存数目doublePrice;//单价charAdd[20];//产地doubleSum;//销售额Supermarket*Next;voidInput(){cout<<"\t\t请输入商品名:";cin>>name;cout<<"\t\t请输入商品编号:";cin>>Num;cout<<"\t\t请输入商品进货总数:";cin>>Cnum;cout<<"\t\t请输入商品销售数目:";cin>>Mnum;cout<<"\t\t请输入商品剩余库存数目:";cin>>Enum;cout<<"\t\t请输入商品产地:";cin>>Add;cout<<"\t\t请输入商品单价:";cin>>Price;Sum=Mnum*Price;}voidReadFile(istream&in)//文件指针{cin>>name>>Num>>Cnum>>Mnum>>Enum>>Add>>Price>>Sum;}voidShow(){cout<<"商品名:"<Next;p!=End;p=p->Next)p->Show();cout<<"输入任意字符!继续……";getch();}voidAddItem(){End->Input();End->Next=newSupermarket;End=End->Next;cout<<"添加成功!"<Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p->Next->name,name))returnp;returnNULL;}Supermarket*FindNum(char*Num){for(Supermarket*p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p->Next->Num,Num))returnp;returnNULL;}Supermarket*FindAdd(char*Add){for(Supermarket*p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成就返回空if(!strcmp(p->Next->Add,Add))returnp;returnNULL;}};六、模块分析模块分析表-1函数功能VoidDisplay()输出模块信息Supermarket()构造函数~Supermarket()析构函数VoidAddItem()增加商品VoidRemoveItem()删除商品VoidModifyItem()修改商品Voidfind()查找商品IntListCount()统计商品Voidsave()基础数据存盘Supermarketmassage构造函数七、比较有特色的函数Supermarket*FindItem(char*name)//按照姓名查找商品{for(Supermarket*p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p->Next->name,name))returnp;returnNULL;}Supermarket*FindNum(char*Num)//按照编号查找{for(Supermarket*p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p->Next->Num,Num))returnp;returnNULL;}Supermarket*FindAdd(char*Add){for(Supermarket*p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成就返回空if(!strcmp(p->Next->Add,Add))returnp;returnNULL;voidSupermarketmassage::Save(){out.open("sort.txt");for(Supermarket*p=Head->Next;p!=End;p=p->Next)out<<"商品名称:"<name<<"\t\t"<<"商品编号:"<Num<<"\t\t"<<"进货总数:"<Cnum<<"\t\t"<<"销售数目:"<Mnum<<"\t\t"<<"剩余库存:"<Enum<<"\t\t"<<"商品产地:"<Add<<"\t\t"<<"商品单价:"<Price<<"\t\t"<<"销售额:"<Sum<<'\n';out.close();}八、运行结果1.运行界面2.增加4.显示5.查找6.删除7.修改8.保存九、存在的不足与对策于设计者水平有限及时间等方面的原因,该系统的功能比较简单,只有基础的功能,增删改查,我还添加了几个在我能力范围之内的应用,比如文件,还有就是统计,这些在我能力之内的内容,这个程序我真的把我所学的知识都用上了,所以还有很多待完善的地方,比如登陆界面的密码,还划分管理员与普通用户,这些都是我欠缺的知识,所以我希望在以后的学习中能学到更多的知识,弥补自己不足。十、程序源代码#include#include//文件的使用#include#include//用getch();usingnamespacestd;classSupermarket//定义超市类{public:charname[20];charNum[20];intCnum;//进货总数intMnum;//销售数目intEnum;//剩余库存数目doublePrice;//单价charAdd[20];//产地doubleSum;//销售额Supermarket*Next;voidInput(){cout<<"\t\t请输入商品名:";cin>>name;cout<<"\t\t请输入商品编号:";cin>>Num;cout<<"\t\t请输入商品进货总数:";cin>>Cnum;cout<<"\t\t请输入商品销售数目:";cin>>Mnum;cout<<"\t\t请输入商品剩余库存数目:";cin>>Enum;cout<<"\t\t请输入商品产地:";cin>>Add;cout<<"\t\t请输入商品单价:";cin>>Price;Sum=Mnum*Price;}voidReadFile(istream&in)//文件指针{cin>>name>>Num>>Cnum>>Mnum>>Enum>>Add>>Price>>Sum;}voidShow()//显示模块{cout<<"商品名:"<Next;p!=End;p=p->Next)p->Show();cout<<"输入任意字符!继续……";getch();}voidAddItem()//添加{End->Input();End->Next=newSupermarket;End=End->Next;cout<<"添加成功!"<Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p->Next->name,name))returnp;returnNULL;}Supermarket*FindNum(char*Num)//按照编号查找{for(Supermarket*p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p->Next->Num,Num))returnp;returnNULL;}Supermarket*FindAdd(char*Add){for(Supermarket*p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成就返回空if(!strcmp(p->Next->Add,Add))returnp;returnNULL;}};//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Supermarketmassage::Supermarketmassage(){Head=newSupermarket;Head->Next=newSupermarket;End=Head->Next;in.open("sort.txt");if(!in)cout<<"这是一个新系统,无商品信息。请先输入。"<ReadFile(in);if(End->name[0]=='\0')break;End->Next=newSupermarket;End=End->Next;}in.close();cout<<"\t\t读取商品信息成功!"<Next!=End;){temp=Head->Next;Head->Next=Head->Next->Next;deletetemp;}deleteHead,End;}voidSupermarketmassage::ShowMenu(){cout<<"〒〒〒〒〒〒〒〒〒〒☆超市商品管理系统☆〒〒〒〒〒〒〒〒〒〒"<>x;switch(x){case1:{cout<<"\t\t请输入要查找的商品的名称:";cin>>name;if(p=FindItem(name)){p->Next->Show();cout<<"输入任意字符!继续……";getch();}else{cout<<"\t\t没有找到该商品信息!"<<'\n'<>Num;if(p=FindNum(Num)){p->Next->Show();cout<<"输入任意字符!继续……";getch();}else{cout<<"\t\t没有找到该编号的商品!"<<'\n'<>name;if(p=FindItem(name)){cout<<"\t\t已找到商品的信息,请输入新的信息!"<Next->Input();cout<<"修改成功!"<>name;if(p=FindItem(name)){temp=p->Next;p->Next=p->Next->Next;deletetemp;cout<<"\t\t删除成功!"<Next;p!=End;p=p->Next){n++;}returnn;}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌voidSupermarketmassage::Save(){out.open("sort.txt");for(Supermarket*p=Head->Next;p!=End;p=p->Next)out<<"商品名称:"<name<<"\t\t"<<"商品编号:"<Num<<"\t\t"<<"进货总数:"<Cnum<<"\t\t"<<"销售数目:"<Mnum<<"\t\t"<<"剩余库存:"<Enum<<"\t\t"<<"商品产地:"<Add<<"\t\t"<<"商品单价:"<Price<<"\t\t"<<"销售额:"<Sum<<'\n';out.close();}//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌intmain(){intx,i=0;boolquit=false;cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§"<>x;switch(x){case0:quit=true;break;case1:Grade.AddItem();break;case2:Grade.Display();break;case3:Grade.Find();break;case4:Grade.RemoveItem();break;case5:Grade.ModifyItem();break;}}return0;}如有侵权请联系告知删除,感谢你们的配合!主函数添加信息删除信息清空信息修改信息显示信息查找信息精品精品精品
本文档为【C++超市管理系统的设计与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
爱赢
公司经营范围:网络软件设计、制作、图文设计、影视制作(编辑)
格式:doc
大小:364KB
软件:Word
页数:0
分类:互联网
上传时间:2021-02-26
浏览量:0