您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 超市商品管理系统+含报告
武汉理工大学《计算机基础强化训练》课程设计1超市商品管理的设计与实现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内存数据结构设计武汉理工大学《计算机基础强化训练》课程设计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数据文件设计数据记录保存在文本文件productsInfo.txt里,利用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;武汉理工大学《计算机基础强化训练》课程设计3cout*(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//文件功能:定义超市商品的数据结构及其相关操作#includeiostream#includeiomanip#includefstream#includestringCreateProListPrintMenuAddprintdeletemodifyquerysaveRemoveProListGetproductsInfoSetproductsInfo1main武汉理工大学《计算机基础强化训练》课程设计4structProductsInfo//定义超市商品的相关属性{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.cpp//文件功能:products.h文件中操作的具体实现及主函数部分武汉理工大学《计算机基础强化训练》课程设计5#includeproducts.husingnamespacestd;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):;cinchoice;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):;cinchoice;cout&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&\n;武汉理工大学《计算机基础强化训练》课程设计6switch(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(!products.eof()){//装载数据文件if(p=newnode()){productsp-productsInfo.no;productsp-productsInfo.name;productsp-productsInfo.price;productsp-productsInfo.num;productsp-productsInfo.sort;p-pnext=phead;phead=p;}}products.close();returnphead;}voidRemoveProList(){//撤销内存空间for(node*p2,*p1=phead;p1;p1=p2){p2=p1-pnext;deletep1;}武汉理工大学《计算机基础强化训练》课程设计7phead
本文标题:超市商品管理系统+含报告
链接地址:https://www.777doc.com/doc-1409554 .html