超市商品管理系统含报告_第1页
超市商品管理系统含报告_第2页
超市商品管理系统含报告_第3页
超市商品管理系统含报告_第4页
超市商品管理系统含报告_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

{店铺管理}超市商品管理系统含报告超市商品管理的设计与实现1.系统描述1.1问题说明修改删除、字符界面,枚举量用枚举类型表示。1.2数据需求编号数据项数据类型数据长度描述1编号字符串14商品的唯一标识2名称字符串25商品的名称3价格浮点型8商品的售价4数量整型4商品的库存数量5类别字符串12商品类别1.3功能需求编号功能描述1添加商品若该编号的商品在文件中不存在,则将该商品记录添加到文件中。2删除商品若该编号的商品存在文件中,则将该商品记录从文件中删除。3修改商品若该编号的商品存在文件中,则重新录入该商品记录。4显示清单显示商品清单5查询商品查询操作可按多个数据项进行2.系统设计2.1开发平台计算机系统:MicrosoftWindowsXP;开发工具:MicrosoftVisualStudio6.0;语言:C++2.2内存数据结构设计用单链表表示商品数据记录,链表接点定义为:structnode{ProductsInfoproductsInfo;node*pnext;};其中自定义数据类型ProductsInfo定义为:structProductsInfo//定义超市商品的相关属性{charno[14];charname[25];floatprice;intnum;charsort[12];};枚举菜单类型与操作类型:enumMenuType{MAINMENU,SUBMENU};//枚举菜单类型enumFuncType{NONE,ADD,PRINT,DELETE,MODIFY,QUERY,QB_NO,QB_NAME,QB_price,QB_num,QB_sort,SAVE,EXIT};//枚举操作类型2.3数据文件设计C++之间换行分隔开。2.4用户界面设计易于操作,主菜单如下:cout<<"*&*&*&*&*&*&*&*欢迎使用商品管理系统*&*&*&*&*&*&*\n";cout<<"**\n";cout<<"*请按下面的选单进行功能选择:*\n";cout<<"*(1)添加商品记录*\n";cout<<"*(2)显示商品清单*\n";cout<<"*(3)删除一条商品记录*\n";cout<<"*(4)修改一条商品记录*\n";cout<<"*(5)查询*\n";cout<<"*(6)保存至文档*\n";cout<<"*(7)退出*\n";cout<<"*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&\n";查询功能的分菜单如下:cout<<"*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*\n";cout<<"*商品信息管理系统*\n";cout<<"*主菜单->查询*\n";cout<<"*(1)按商品编号查询*\n";cout<<"*(2)按商品名称查询*\n";cout<<"*(3)按商品价格查询*\n";cout<<"*(4)按商品分类查询*\n";cout<<"*(5)返回*\n";cout<<"***********************************************\n";2.5具体功能设计根据功能需求分析,定义了如下功能函数:FuncTypePrintMenu(MenuTypewhich);//菜单选择函数node*CreateProList(charfilename[]);//读取数据文件,建立数据链表voidRemoveProList();//撤销内存空间voidRemoveQueryRes();voidSave(charfilename[]);//保存至文件voidPrint(node*pnode);//显示数据信息voidPrint(QueryRes*pnode);voidmodify();//修改指定数据条目QueryRes*Query(ProductsInfo&productsInfo,FuncTypefunc);//查询指定数据条目node*Add(ProductsInfo&productsInfo);//添加数据项boolDelete();//删除指定条目ProductsInfo&GetproductsInfo(ProductsInfo&productsInfo);//从终端接收数据ProductsInfo&SetproductsInfo1(ProductsInfo&productsInfo,FuncTypefunc);功能函数调用关系图如下:附:源程序清单//products.h//文件功能:定义超市商品的数据结构及其相关操作#include<iostream>#include<iomanip>#include<fstream>#include<string>structProductsInfo//定义超市商品的相关属性{charno[14];charname[25];floatprice;intnum;charsort[12];};structnode//定义数据链表结点{ProductsInfoproductsInfo;node*pnext;};structQueryRes{node*pnode;QueryRes*pnext;};node*phead=NULL;//定义数据链表头指针QueryRes*pqueryres=NULL;enumMenuType{MAINMENU,SUBMENU};//枚举菜单类型enumFuncType{NONE,ADD,PRINT,DELETE,MODIFY,QUERY,QB_NO,QB_NAME,QB_price,QB_num,QB_sort,SAVE,EXIT};//枚举操作类型FuncTypePrintMenu(MenuTypewhich);//菜单选择函数node*CreateProList(charfilename[]);//读取数据文件,建立数据链表voidRemoveProList();//撤销内存空间voidRemoveQueryRes();voidSave(charfilename[]);//保存至文件voidPrint(node*pnode);//显示数据信息voidPrint(QueryRes*pnode);voidmodify();//修改指定数据条目QueryRes*Query(ProductsInfo&productsInfo,FuncTypefunc);//查询指定数据条目node*Add(ProductsInfo&productsInfo);//添加数据项boolDelete();//删除指定条目ProductsInfo&GetproductsInfo(ProductsInfo&productsInfo);//从终端接收数据ProductsInfo&SetproductsInfo1(ProductsInfo&productsInfo,FuncTypefunc);//products.h文件结束////文件功能:products.h文件中操作的具体实现及主函数部分#include"products.h"usingnamespacestd;FuncTypePrintMenu(MenuTypewhich){FuncTypefunc=NONE;intchoice=0;switch(which){caseMAINMENU://主菜单选项cout<<"*&*&*&*&*&*&*&*欢迎使用商品管理系统*&*&*&*&*&*&*\n";cout<<"**\n";cout<<"*请按下面的选单进行功能选择:*\n";cout<<"*(1)添加商品记录*\n";cout<<"*(2)显示商品清单*\n";cout<<"*(3)删除一条商品记录*\n";cout<<"*(4)修改一条商品记录*\n";cout<<"*(5)查询*\n";cout<<"*(6)保存至文档*\n";cout<<"*(7)退出*\n";cout<<"*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&\n";cout<<"*请选择(1-6):";cin>>choice;switch(choice){case1:func=ADD;break;case2:func=PRINT;break;case3:func=DELETE;break;case4:func=MODIFY;break;case5:func=QUERY;break;case6:func=SAVE;break;case7:func=EXIT;break;default:func=NONE;break;}break;caseSUBMENU://分菜单选项cout<<"*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*\n";cout<<"*商品信息管理系统*\n";cout<<"*主菜单->查询*\n";cout<<"*(1)按商品编号查询*\n";cout<<"*(2)按商品名称查询*\n";cout<<"*(3)按商品价格查询*\n";cout<<"*(4)按商品分类查询*\n";cout<<"*(5)返回*\n";cout<<"***********************************************\n";cout<<"*请选择(1-6):";cin>>choice;cout<<&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&\n";switch(choice){case1:func=QB_NO;break;case2:func=QB_NAME;break;case3:func=QB_price;break;case4:func=QB_sort;break;case5:func=EXIT;break;default:func=NONE;break;}break;default:cout<<"没有查询到该条商品记录!!\n";break;}returnfunc;}node*CreateProList(charfilename[]){node*p=NULL;ifstreamproducts(filename);if(!products){cerr<<"文件不存在!请添加商品记录!"<<endl;returnNULL;}while(!()){//装载数据文件if(p=newnode()){products>>p->;products>>p->;products>>p->;products>>p->;products>>p->;p->pnext=phead;phead=p;}}();returnphead;}voidRemoveProList(){//撤销内存空间for(node*p2,*p1=phead;p1;p1=p2){p2=p1->pnext;deletep1;}phead=NULL;}voidRemoveQueryRes(){for(QueryRes*p2,*p1=pqueryres;p1;p1=p2){p2=p1->pnext;deletep1;}pqueryres=NULL;}voidSave(charfilename[]){//保存至文档node*p;ofstreamproducts(filename);if(!products){return;}for(p=phead;p;p=p->pnext){products<<""<<p->;products<<""<<p->;products<<""<<p->;products<<""<<p->;products<<""<<p-><<endl;}();}voidPrint(node*pnode){//输出数据for(node*p=pnode;p;p=p->pnext){cout<<p-><<"";cout<<p-><<"";cout<<p-><<"";cout<<p-><<"";cout<<p-><<"\n";}}voidPrint(QueryRes*pnode){for(QueryRes*p=pnode;p;p=p->pnext){cout<<p->pnode-><<"";cout<<p->pnode-><<"";cout<<p->pnode-><<"";cout<<p->pnode-><<"";cout<<p->pnode-><<"\n";}}QueryRes*Query(ProductsInfo&productsInfo,FuncTypefunc){//查询功能实现inthasRes=0;QueryRes*pquery=NULL;for(node*p=phead;p;p=p->pnext){switch(func){caseQB_NO://按编号查询if(!strcmp(p->,)){hasRes=1;}break;caseQB_NAME://按名称查询if(!strcmp(p->,)){hasRes=1;}break;caseQB_price://按价格查询if(p->==){hasRes=1;}break;caseQB_sort://按分类查询if(!strcmp(p->,)){hasRes=1;}break;default:break;}if(hasRes){if(pquery=newQueryRes()){pquery->pnode=p;pquery->pnext=pqueryres;pqueryres=pquery;}hasRes=0;}}returnpqueryres;}node*Add(ProductsInfo&productsInfo){//添加数据项node*p;if(p=newnode()){strcpy(p->,);strcpy(p->,);p->=;p->=;strcpy(p->,);p->pnext=phead;phead=p;}returnphead;}boolDelete(){//删除指定数据项cout<<"请输入商品编号:"<<endl;charno[14];cin>>no;if(phead==NULL){cout<<"不存在商品记录!"<<endl;returnfalse;}node*p=phead;if(!strcmp(p->,no)){phead=phead->pnext;returntrue;}for(phead;p->pnext;p=p->pnext){if(!strcmp(p->pnext->,no))break;}if(p->pnext==NULL){cout<<"不存在商品记录!"<<endl;returnfalse;}p->pnext=p->pnext->pnext;deletep->pnext;returntrue;}voidmodify()//修改指定条目{node*p=phead;if(p==NULL){cout<<"不存在商品记录!";return;}charno[14];cout<<"请输入要修改的商品编号:";cin>>no;for(p=phead;p;p=p->pnext){if(!strcmp(p->,no))break;}if(p==NULL){cout<<"不存在该编号的商品!\n";return;}cout<<"请重新输入该商品信息:";GetproductsInfo(p->productsInfo);}ProductsInfo&GetproductsInfo(ProductsInfo&productsInfo){//从终端接收数据cout<<"请输入商品编号:";cin>>;cout<<"请输入商品名称:";cin>>;cout<<"请输入商品价格:";cin>>;cout<<"请输入商品数量:";cin>>;cout<<"请输入商品类别:";cin>>;returnproductsInfo;}ProductsInfo&SetproductsInfo1(ProductsInfo&productsInfo,FuncTypefunc){switch(func){caseQB_NO:cout<<"请输入商品编号:";cin>>;break;caseQB_NAME:cout<<"请输入商品名称:";cin>>;break;caseQB_price:cout<<"请输入商品价格:";cin>>;break;caseQB_num:cout<<"请输入商品数量:";cin>>;break;caseQB_sort:cout<<"请输入商品类别:";cin>>;break;}returnproductsInfo;}intmain(){ProductsInfoproductsInfo;intcont=1;intcont1=1;phead=CreateProList("");//装载数据文件while(cont){switch(PrintMenu(MAINMENU)){caseADD://添加数据条目GetproductsInfo(productsInfo);phead=Add(productsInfo);break;casePRINT://显示商品清单cout<<"*&*&*&*&*&*&*&*以下是商品清单*&*&*&*&*&**&*&\n";Print(phead);break;caseDELETE://删除指定条目if(Delete())cout<<"已删除!\n";elsecout<<"删除失败!\n";break;caseMODIFY://修改指定条目modify();break;caseQUERY://查询操作cont1=1;while(cont1){FuncTypefunc;func=PrintMenu(SUBMENU);switch(func){caseQB_NO:caseQB_NAME:caseQB_price:caseQB_sort:SetproductsInfo1(productsInfo,func);Print(Query(productsInfo,func));RemoveQueryRes();break;caseEXIT:cont1=0;break;default:break;}}break;caseSAVE://保存至文件Save("");break;caseEXIT://退出RemoveProList();cont=0;break;default:break;}}return0;}3.系

温馨提示

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

最新文档

评论

0/150

提交评论