超市商品管理系统+含报告.docx
《超市商品管理系统+含报告.docx》由会员分享,可在线阅读,更多相关《超市商品管理系统+含报告.docx(15页珍藏版)》请在三一办公上搜索。
1、武汉理工大学计算机基础强化训练课程设计超市商品管理的设计与实现1. 系统描述1.1 问题说明要求设计并实现一个简单超市商品管理系统,至少实现数据的增加、修改、删除、查询和显示相应结果,内存数据用链表组织,数据文件用文本文件,用户界面用字符界面,枚举量用枚举类型表示。1.2 数据需求编号数据项数据类型数据长度描述1编号字符串14商品的唯一标识2名称字符串25商品的名称3价格浮点型8商品的售价4数量整型4商品的库存数量5类别字符串12商品类别1.3 功能需求编号功能描 述1添加商品若该编号的商品在文件中不存在,则将该商品记录添加到文件中。2删除商品若该编号的商品存在文件中,则将该商品记录从文件中删
2、除。3修改商品若该编号的商品存在文件中,则重新录入该商品记录。4显示清单显示商品清单5查询商品查询商品是否在文件中,若在则输出详细信息。查询操作可按多个数据项进行2.系统设计2.1 开发平台计算机系统:Microsoft Windows XP;开发工具:Microsoft Visual Studio 6.0;语言:C+2.2内存数据结构设计用单链表表示商品数据记录,链表接点定义为:struct node ProductsInfo productsInfo;node *pnext;其中自定义数据类型ProductsInfo定义为:struct ProductsInfo /定义超市商品的相关属性c
3、har no14;char name25;float price;int num;char sort12;枚举菜单类型与操作类型:enum MenuType MAINMENU, SUBMENU; /枚举菜单类型enum FuncType 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用户界面设计用户界
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*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&
5、*&*&*&*&*&*&*&*&*&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具体功能设计根据功能需求分析,定义了如下功能函数:FuncType PrintMenu(MenuType which); /菜单选择函数n
6、ode * CreateProList(char filename); /读取数据文件,建立数据链表void RemoveProList(); /撤销内存空间void RemoveQueryRes();void Save(char filename); /保存至文件void Print(node *pnode); /显示数据信息void Print(QueryRes *pnode);void modify(); /修改指定数据条目QueryRes * Query(ProductsInfo& productsInfo, FuncType func);/查询指定数据条目node * Add(Pro
7、ductsInfo& productsInfo); /添加数据项bool Delete(); /删除指定条目ProductsInfo& GetproductsInfo(ProductsInfo& productsInfo); /从终端接收数据ProductsInfo& SetproductsInfo1(ProductsInfo& productsInfo,FuncType func); 功能函数调用关系图如下:mainCreateProListPrintMenuAddprintdeletemodifyquerysaveRemoveProListGetproductsInfoSetproduct
8、sInfo1附:源程序清单/products.h/文件功能:定义超市商品的数据结构及其相关操作#include #include #include #include struct ProductsInfo /定义超市商品的相关属性char no14;char name25;float price;int num;char sort12;struct node /定义数据链表结点ProductsInfo productsInfo;node *pnext;struct QueryRes node * pnode;QueryRes * pnext;node *phead = NULL; /定义数据链
9、表头指针QueryRes *pqueryres = NULL; enum MenuType MAINMENU, SUBMENU; /枚举菜单类型enum FuncType NONE, ADD, PRINT, DELETE, MODIFY,QUERY, QB_NO, QB_NAME, QB_price,QB_num, QB_sort, SAVE, EXIT; /枚举操作类型FuncType PrintMenu(MenuType which); /菜单选择函数node * CreateProList(char filename); /读取数据文件,建立数据链表void RemoveProList(
10、); /撤销内存空间void RemoveQueryRes();void Save(char filename); /保存至文件void Print(node *pnode); /显示数据信息void Print(QueryRes *pnode);void modify(); /修改指定数据条目QueryRes * Query(ProductsInfo& productsInfo, FuncType func); /查询指定数据条目node * Add(ProductsInfo& productsInfo); /添加数据项bool Delete(); /删除指定条目ProductsInfo&
11、GetproductsInfo(ProductsInfo& productsInfo); /从终端接收数据ProductsInfo& SetproductsInfo1(ProductsInfo& productsInfo,FuncType func); / products.h文件结束/products.cpp/文件功能:products.h文件中操作的具体实现及主函数部分#include products.husing namespace std;FuncType PrintMenu(MenuType which) FuncType func = NONE;int choice = 0;sw
12、itch(which) case MAINMENU: /主菜单选项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*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*
13、&*&*&*&n;cout choice;switch(choice) case 1: func = ADD; break;case 2: func = PRINT; break;case 3: func = DELETE; break;case 4: func = MODIFY; break;case 5: func = QUERY; break;case 6: func = SAVE; break;case 7: func = EXIT;break;default: func = NONE; break;break;case SUBMENU: /分菜单选项cout*&*&*&*&*&*&*
14、&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*n;cout * 商品信息管理系统 *n;cout 查询 *n;cout * (1) 按商品编号查询 *n;cout * (2) 按商品名称查询 *n;cout * (3) 按商品价格查询 *n;cout * (4) 按商品分类查询 *n;cout * (5) 返回 *n;cout *n;cout choice;cout &*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&n;switch(choice) case 1: func = QB_NO; break;case 2: func = QB_
15、NAME; break;case 3: func = QB_price; break;case 4: func = QB_sort; break;case 5: func = EXIT; break;default: func = NONE; break;break;default:cout 没有查询到该条商品记录!n;break;return func;node * CreateProList(char filename) node * p=NULL;ifstream products(filename);if(!products) cerr文件不存在!请添加商品记录! p-products
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 商品 管理 系统 报告

链接地址:https://www.31ppt.com/p-2030786.html