c++大作业超市管理系统课程设计报告_第1页
c++大作业超市管理系统课程设计报告_第2页
c++大作业超市管理系统课程设计报告_第3页
c++大作业超市管理系统课程设计报告_第4页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、超市管理系统的设计与实现目 录摘要1第 1 章 前言21.1 系统前景21.2 系统主要功能2第 2 章 需求分析3第 3 章 概要设计43.1 主界面流程图43.2 超市管理模块设计5第 4 章 详细设计64.1 主界面流程图64.2 清除内存中的商品函数64.3 增加商品信息84.4 删除商品信息的过程94.5 修改商品信息的过程104.6 查询商品的过程:124.7 统计商品的过程144.8 显示商品过程16第五章系统测试17第 6 章 总 结22参考文献22附 录23摘要针对用户对超市管理系统要求,本应用软件运用 C+语言编写,通过对系统程序的编写, 实现了基本的超市商品管理功能, 本

2、应用软件中的时钟时间以所在电脑的系统时间为准, 用户可在修改商品的界面中修改超市商品信息来对超市进行管理。超市管理系统主界面通过操作阿拉伯数字实现超市商品的增加、修改、查询、统计、显示所有商品信息等。本系统的实现主要运用了两个类,商品类和超市类。商品类中有商品必要信息,商品代码,商品名称,商品产地,商品价格,商品库存量等。超市类中通过各类函数的实现对商品进行管理。可以增加商品,查询商品,删除商品,显示商品信息,统计商品库存量及价值等。关键字: 商品类超市管理函数指针1第1章前言1.1 系统前景随着社会的发展,超市的数量越来越多,规模越来越大。因此,对超市的科学管理就显得尤为重要。本系统用 C+

3、基本实现了超市管理系统的设计。C+是一个面向对象的程序设计语言,可以让我们更好的掌握面向对象思想解决实际问题的能力。 C+拥有强大生命力,几乎可以兼容 C 语言。 C+牵涉概念很多,语法比较复杂,内容十分广泛。比如在 C的基础上增加了类等。各种类型函数如构造函数,析构函数等。还有函数是在类内定义还是在类外定义等。总之, C+语言是一门非常实用的语言。1.2 系统主要功能(1) 本系统实现了对超市商品的管理。(2) 本系统可以根据用户输入来调整超市商品信息。(3) 本系统可以直接显示超市所有商品。(4) 本系统的开发语言是当下比较流行的 C+语言开发。2第2章需求分析本系统为超市管理系统的设计与

4、实现,可供超市管理者对超市商品信息的查询和修改, 适用于各种小型超市, 有效地提高了工作效率。若查询不符合实际情况,则会提示错误。 Enter 键确认。本系统实现以下功能:( 1)进入系统后提示适用方法,键入相应数字依次将商品代码(由阿拉伯数字组成)、商品名称、商品产地、商品单价以及库存量等商品信息存入并保存。( 2)键入商品名称,可将要求删除商品调出,并予以删除。( 3)键入相应数字选项,可修改超市商品的所有信息。( 4)键入相应数字选项,可查询需要查询的商品的所有信息。( 5)键入相应数字选项,可显示超市所有商品的所有信息。( 6)键入数字 7 退出系统。3第 3章概要设计3.1 主界面流

5、程图设计超市管理系统的主界面, 主界面相应的现实有下列菜单:增加商品、删除商品、修改商品、查询商品、统计商品、显示商品、退出。开始超市管理系统商超品市类类否修增删改加除显查统商商商示询计品品品商商商品品品找到是开始3.1 主界面流程图43.2超市管理模块设计(1) 超市初始化模块类名为 Goods 和 Supermarket,分别定义了商品的名称,代码,产地,单价和库存数量,以及需要在链表里面寻找的指针。( 2)增加商品的函数模块在文件中写入产品的信息, 并且判断商品的单价和库存量是否超标 (65535),并且加入链表。( 3)删除商品的函数模块删除结点已达到删除产品的目的。( 4)修改商品的

6、函数模块载入商品的全部数据, 并且放入内存, 并且可以重新写入修改。 如果没有找到商品,则返回。( 5)统计商品的函数模块统计结点数以记录商品的数量, 载入所有商品的数量和单价计算商品的总价值。( 6)数据存储的函数模块将链表的所有数据写入文件,然后关闭文件。( 7)数据读入的函数模块打开文件,然后将文件中的数据写入内存以备用。5第4章详细设计4.1 主界面流程图设计超市管理系统的主界面,主界面相应的现实有下列菜单:增加商品、删除商品、修改商品、查询商品、统计商品、显示商品、退出。开始超市管理系统商超品市类类修增删改加除显查统商商商示询计品品品商商商品品品找到否是结束4.1 主界面流程图4.2

7、 清除内存中的商品函数6在超市管理系统中,商品出售出去,库存中的商品信息必须清除。类外定义一个函数 clear, 在函数中定义一个指针了使函数能够不断地清除内存中的数据,要使指针移动 goods , 然后删除 p 中的数据 , 清空 p 中的数据,然后将从而实现删除库存中的一个或多个商品。流程图如图p, 讲物品 goods 赋给 p, 为 , 首先将 p->next 赋予 goods 赋给 p, 依次循环 ,开始定义指针goods 赋值p将 p 的 next 赋值给 goods删除 p 中的数据goods 赋值给 pYES是否有需要删除的商品NO结束图 4.2 清除内存商品流程图74.3

8、 增加商品信息类外定义一个函数 add,首先在函数中定义变量商品代码 num 和商品数量 count ,都为 double 类型 ,商品名 name和产地 address 为 char 类型 ,价格price 为 int 类型,首先要求用户输入商品信息, 依次输入商品的代码、 商品名称、商品产地、商品单价,判断单价是否在 065535之间,如果不在范围内重新输入直到在范围之内再继续向下面执行, 输入商品库存量,库存在 099999之间,如果超出范围重新输入,在范围之内继续执行,保存数据。开始定义变量输入商品代码名称产地No输入商品价格( 065535 )YesNo输入商品库存( 099999)

9、Yes保存图 4.3 增加商品流程图84.4 删除商品信息的过程(1)在 Supermarket 类下定义一个 Delete 函数作为删除商品信息的函数,然后定义商品名,输入商品信息。(2)查找要删除的结点(节点中包含所有该商品的信息:商品代码、名称、产地、数量、单价),分别定义两个指针,原商品表信息指针 p1 和输入的商品信息指针 p2,在 p1 循环的过程中比较输入的商品名与原有的商品名是否一致,如果一致则结束本次循环, 否则 p2 指向 p1,使得两指针同化, p1 指针接着指向下一指针,这样依次向后查询。(3)删除结点,如果找到要删除的结点则删除,在这个条件下,如果删除的结点是第一个结

10、点, 则继续将指针后移删除第一结点,如果删除的结点是后续结点,则将 p2 下一指针指向 p1 下一指针,则删除相应的后续结点。输出的结果是:找到并删除或者sorry, 未找到!流程图如图 4.59开始查找要删除的结点定义指针p1 p2比较输入商品名和商品表已否知商品名是否一致是是否找到结点是是否为第一结点是找到则删除成功结束图 4.5 删除商品流程图4.5 修改商品信息的过程继续向后查找p2=p1;p1=p1->next否否查找后续结点(1)定义各参数变量的类型,然后是输入要查找等待修改的商品名称10(2)查找要修改的结点,定义 p1、p2 指针, p1 为指向 goods 商品表指针,

11、 p2 为输入的商品指针,判断 p1 指针,如果输入的商品名和原有的商品名一致,则结束本次循环,否则, p1 和 p2 指针同化, p1 接着指向 p1 的下一指针。(3)修改结点,若找到相应的要修改的结点,则 p1 指向 Output 函数,接着输出要修改的信息,利用 Switch 语句来调用相应的修改信息。(4)创建新商品的结点,把原来要修改的结点删除并重新替换要创建的商品结点。如果找到等待修改的结点则修改,否则保持商品表信息不变。流程图如图 4.611开始输入要查的商品名查找要修改的结点否比较输入商品名和商品表已知商品名是否一致继续向后查找是p2=p1;p1=p1->next否是否

12、找到第一结点是是继续查找后续结点删除并替换否结束图 4.6修改商品流程图4.6 查询商品的过程:(1)在 Supermarket类下定义一个 Query 函数作为查询商品信息的函数, 输入商品名。(2)查找要查询的结点(结点中包含所有该商品的信息:商品代码、名称、产地、数量、单价),定义一个原商品表信息指针p1,在 p1 循环的过程中比较12输入的商品名与原有的商品名是否一致, 如果一致则结束本次循环, 否则 p1 指针接着指向下一指针,这样依次向后查询。(3)查询结点,如果找到要查询的结点则输出:查询成功并输出其所有信息,若没有找到输出: sorry 未找到!流程图如图 4.7开始输入要查询

13、商品的名字定义指针p1比较输入商品名和商品表已知商品名是否一致是是否找到商品是否继续向后查找p1=p1->next否结束图 4.7 查询商品流程图134.7 统计商品的过程(1)是在 Supermarket类下定义一个 Add_up 函数作为统计商品信息的函数,然后定义两个 double 型变量 Amount 和 Value 分别表示要求统计商品的总量和总价值,输入商品名字 name。(2)查找要统计的结点(结点中包含所有该商品的信息:商品代码、名称、产地、数量、单价),定义一个指针 p1,原商品表信息指针 p1,在 p1 循环的过程中比较输入的商品名与原有的商品名是否一致, 如果一致则

14、结束本次循环, p1指针接着指向下一指针,这样依次向后查询。没找到则输出:sorry,未找到!(3)统计商品,每当找到一个商品后就将Amount 与 p1 所指 count 相加存入 Amount, 并将此时 p1 所指的 count 与 price 相乘再加上 Value 存入 Value,循环查找相加,最后分别输出。流程图如图 4.814开始查找要统计的结点定义指针 p1比较输入商品名和否商品表已知商品名是否一致是继续向后查找p1=p1->next从当前否是否找到结点指针否是Amount+=p1->count;Value+=p1->count*p1->price输出

15、结束图 4.8 统计商品流程图154.8 显示商品过程(1)是在 Supermarket 类下定义一个 Out 函数作为显示商品信息的函数。(2)将 goods 的首地址给 p1,判断 p1 是否为空,若空则输出 “没有商品”。否则输出该商品所有信息(商品代码、名称、产地、数量、单价)等。(3)将 p1 赋给 p2,p1->next赋给 p1, 进入循环,输出下一个商品信息。流程图如图 4.9开始定义数据P=goods否是否有商品是输出该商品信息输出没有商品指针移向下一个商品图 4.9 显示商品流程图16第五章系统测试打开软件后见到如图所示的界面正式进入超市管理系统图 5.1 系统主界面

16、该软件有增加商品、删除商品、修改商品、查询商品、统计商品、显示商品六大功能。(1) 增加商品选择 1进入商品录入界面17图 5.2新增商品信息界面依次录入商品代码、商品名称、商品产地、商品单价、商品的库存量并按Y 保存,需要注意的是商品单价限制在065535,商品的库存量限制在099999 范围内。(2) 删除商品图 5.3删除商品界面18首先输入商品的名称,然后选择是Y或者 N。(3) 修改商品选择 3进入修改商品界面图 5.4修改商品界面输入商品的名称,系统会显示商品代码、名称、产地、价格、库存量,然后分别选择1改商品代码、 2 改商品名称、 3 改商品产地、 4 改商品单价、 5 改商品库存量 、 7 改全部信息。(4) 查询商品19图 5.5查询商品界面输入商品名称后,系统会显示你所查询的商品信息,有商品的代码、商品的名称、商品的产地、商品的单价和库存量等。(5) 统计商品图 5.6统计商品界面20选择 5 后进入统计商品,输入商品名称后,会显示出商品的数量和总价

温馨提示

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

评论

0/150

提交评论