商店存货管理系统课程设计内容摘要:

图 56 写入文件 流程图 开 始 输入排序模块编号 结束 开 始 输入要写入的文件名 结束 用 savedate 函数 显示写入文件成功 显示排好序的信息 调用 List 的排序函数 西安建筑科技大学课程设计(论文) 第 16 页 共 38 页 读取文件信息 模块 图 57 读取文件 流程图 本软件是基于 Windows 的编程开发,所以,软件调试必须在Windows 环境下进行。 调试前须做好准备工作: (1) 需要安装 Visual C++ ; 配置好之后,在 Visual C++。 (2) 测试数据: 商品 信息输入: 在 “ 插入商品信息 ” 模块 中 , 根据主界面提示 , 键入数字 1,确定, 再 按提示 进行操作测试,添加一条记录后,发现在 数据文本 中有保存该记录,如果错误输入,观察是否能正常提示信 息。 开 始 输入要读取的文件名 结束 调用 savedate 函数 显示读取文件成功 西安建筑科技大学课程设计(论文) 第 17 页 共 38 页 否则修改程序再进行调试。 例如:输入 1后确定,程序显示“请输入你要 插入的位置 :”,键入 位置 如 2,继续操作,假设数据为: cigarette,12,1,程序正常运行。 退出保存。 商品 信息 删除 : 在 “ 删除商品信息 ” 模块 中 , 根据主界面提示 , 键入数字 2,确定, 再 按提示 进行操作测试, 删除 一条记录后,发现在 数据文本 中有保存该记录,如果错误输入,观察是否能正常提示信息。 否则修改程序再进行调试。 例如:输入 2后确定,程序显示“请输入你要 删除 的数据 的位置 :”,键入 位置 如 2,继续操作,假设数据为: cigarette,12,1,程序正常运行。 退出保存。 商品 信息 修改 : 在 “ 商品信息修改 ” 模块 中 , 根据主界面提示 , 键入数字 3,确定, 再 按提示 进行操作测试, 输入修改位置及修改后的信息 ,如果错误输入,观察是否能正常提示信息。 否则修改程序再进行调试。 例如:输入 3后确定,程序显示“请输入你要 修改的位置 :”,键入 位置 如 2,继续操作,假设数据为: cigarette,12,1,程序正常运行。 退出保存。 商品 信息的查询: 按商品信息在单链表中所处的位置进行查询。 在 “ 商品信息查询 ” 模块 中 , 根据主界面提示 , 键入数字 4,确定, 再 按提示 进行操作测试, 输入查 询的位置 ,如果错误输入,观察是否能正常提示信息。 否则修改程序再进行调试。 西安建筑科技大学课程设计(论文) 第 18 页 共 38 页 例如:输入 4后确定,程序显示“请输入你要 查询的位置 :”,键入 位置 如 2,继续操作,假设 输出 数据为: cigarette,12,1,程序正常运行。 退出保存。 商品 信息的 排序 : 按商品价格由低到高进行排序。 在 “ 商品信息排序 ” 模块 中 ,根据主界面提示 , 键入数字 5,确定, 观察是否能正常 显示商品 信息 , 否则修改程序再进行调试。 例如:输入 5后确定,假设 输出 数据为: cigarette,12,1;cigarette,13,2; cigarette,14,。 退出保存。 商品 信息 加入文件 : 根据主界面提示 , 输入要加入的文件名, 确定, 观察是否能正常 执行, 否则修改程序再进行调试。 例如:输入 a 后确定,假设 输出 数据为: 加入文件成功, 程序正常运行。 退出保存。 商品 信息 从文件中读取 : 根据主界面提示 , 输入要读取的文件名, 确定, 观察是否能正常 执行, 否则修改程序再进行调试。 例如:输入 a 后确定,假设 输出 数据为: 读取文件成功, 程序正常运行。 退出保存。 (3) 算法改进设想: 在程序设计前期,我们并没有用 txt文件来保存 商品 信息。 经过我不断的修改以及调试后,该程序总算可以 进行 txt文本的读出与写入,并且添加 商品 信息后可以直接将信息保存在 txt文本文件中。 西安建筑科技大学课程设计(论文) 第 19 页 共 38 页 主菜单 图 71 主菜单 添加商品信息 西安建筑科技大学课程设计(论文) 第 20 页 共 38 页 图 72 添加商品信息 删除商品信息 图 73 删除 商品信息 修改商品信息 西安建筑科技大学课程设计(论文) 第 21 页 共 38 页 图 74 修改 商品信息 查询商品信息 图 75 查询 商品信息 商品信息排序 西安建筑科技大学课程设计(论文) 第 22 页 共 38 页 图 76 商品信息排序 商品信息存入文件 图 77 商品信息存入文件 图 78 文件中的信息 商品信息从文件中读取 图 79 商品信息从文件中读取 西安建筑科技大学课程设计(论文) 第 23 页 共 38 页 includeiostream includeiomanip includestring include includefstream include include using namespace std。 enum Error_code{success,fail,range_error,underflow,overflow,fatal,not_present,duplicate_error, entry_inserted,entry_found,internal_error}。 //enum kind{cigarette,water,gum,beer,bread}。 template class Node_entry struct Node { string kind1。 Node_entry price。 Node_entry shelf。 NodeNode_entry*next。 Node()。 Node(string kind_1,Node_entry price2,Node_entry shelf2,NodeNode_entry*link)。 }。 templateclass Node_entry NodeNode_entry::Node() { next=NULL。 西安建筑科技大学课程设计(论文) 第 24 页 共 38 页 } templateclass Node_entry NodeNode_entry::Node(string kind_1,Node_entry price2,Node_entry shelf2,NodeNode_entry *link=NULL) { kind1=kind_1。 price=price2。 shelf=shelf2。 next=link。 } templateclass List_entry class List { public: Error_code insert(Listamp。 list,const string amp。 kind_1,const List_entry amp。 price2,const List_entry amp。 shelf2)。 Error_code remove(Listamp。 list,string amp。 kind_1,List_entry amp。 price2,List_entry amp。 shelf2)。 Error_code replace(Listamp。 list,const string amp。 kind_1,const List_entry amp。 price2,const List_entry amp。 shelf2)。 Error_code retrieve(Listamp。 list,string amp。 kind_1,List_entry amp。 price2,List_entry amp。 shelf2)const。 void sort()。 List()。 int size()const。 bool full()const。 bool empty()const。 void clear()。 void traverse(void (*visit)(List_entry amp。 ))。 ~List()。 List(const ListList_entryamp。 copy)。 void operator=(const ListList_entryamp。 copy)。 void savedate(ListList_entryamp。 list)。 void loaddate(ListList_entryamp。 list)。 protected: int count。 西安建筑科技大学课程设计(论文) 第 25 页 共 38 页 NodeList_entry*head。 NodeList_entry*set_position(int position)const。 }。 templateclass List_entry Error_code ListList_entry::insert(Listamp。 list,const string amp。 kind_1,const List_entry amp。 price2,const List_entry amp。 shelf2) { int position=()。 if(position0||positioncount) return fail。 NodeList_entry*new_node,*previous,*following。 if(position0) { previous=set_position(position1)。 following=previousnext。 } else following=head。 new_node=new NodeList_entry(kind_1,price2,shelf2,following)。 if(new_node==NULL) return overflow。 if (position==0) head=new_node。 else previousnext=new_node。 count++。 return success。 } templateclass List_entry Error_code ListList_entry::remove(List。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。