c++超市管理系统课程设计报告

2022-04-01 02:40:00下载本文作者:会员上传
简介:写写帮文库小编为你整理了这篇《c++超市管理系统课程设计报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《c++超市管理系统课程设计报告》。

c++超市管理系统课程设计报告

第1章

任务描述

本次C++实践课题为“超市管理系统”。要求功能有

A、添加商品信息,有商品编号、商品名、供应商代号、进货价、售出价、存货数等。进货:若商品已存在,只需修改存货数;若不存在,需增加新纪录。B、售出:输入商品编号,修改相应的存货数与销售额。C、查询:查询商品,销售额。

第2章

系统需求及主要功能

本系统为超市管理系统的设计与实现,可供超市管理者对超市商品信息的查询和修改,适用于各种小型超市,有效地提高了工作效率。若查询不符合实际情况,则会提示错误。Enter键确认。

本系统实现以下功能:

(1)进入系统后提示适用方法,键入相应数字依次将商品代码(由阿拉伯数字组成)、商品名称、商品产地、商品单价以及库存量等商品信息存入并保存。

(2)键入商品名称,可将要求删除商品调出,并予以删除。

(3)键入相应数字选项,可修改超市商品的所有信息。

(4)键入相应数字选项,可查询需要查询的商品的所有信息。

(5)键入相应数字选项,可显示超市所有商品的所有信息。

(6)键入数字0退出系统。

第3章

系统概要

3.1主界面流程图

设计超市管理系统的主界面,主界面相应的现实有下列菜单:增加商品、删除商品、修改商品、查询商品、统计商品、显示商品、退出。

超市管理系统

商品类

超市类

查询商品

统计商品

修改商品

增加商品

删除商品

找到

开始

开始

3.1主界面流程图

3.2

超市管理模块设计

(1)

超市初始化模块

类名为Goods和Supermarket,分别定义了商品的名称,代码,产地,单价和库存数量,以及需要在链表里面寻找的指针。

(2)增加商品的函数模块

在文件中写入产品的信息,加入链表。

(3)删除商品的函数模块

删除结点已达到删除产品的目的。

(4)修改商品的函数模块

载入商品的全部数据,并且放入内存,并且可以重新写入修改。如果没有找到商品,则返回。

(5)统计商品的函数模块

统计结点数以记录商品的数量,载入所有商品的数量和单价计算商品的总价值。

(6)数据存储的函数模块

将链表的所有数据写入文件,然后关闭文件。

(7)数据读入的函数模块

打开文件,然后将文件中的数据写入内存以备用。

第4章

系统设计过程

4.1

主界面流程图

设计超市管理系统的主界面,主界面相应的现实有下列菜单:增加商品、删除商品、修改商品、查询商品、统计商品、显示商品、退出。

查询商品

超市管理系统

商品类

超市类

统计商品

修改商品

增加商品

删除商品

找到

开始

结束

4.1主界面流程图

4.2清除内存中的商品函数

在超市管理系统中,商品出售出去,库存中的商品信息必须清除。

类外定义一个函数clear,在函数中定义一个指针p,讲物品goods赋给p,为了使函数能够不断地清除内存中的数据,要使指针移动,首先将p->next赋予goods,然后删除p中的数据,清空p中的数据,然后将goods赋给p,依次循环,从而实现删除库存中的一个或多个商品。

流程图如图

开始

定义指针

goods赋值p给p

将p的next赋值给goods

删除p中的数据

goods赋值给p

是否有需要删除的商品

结束

YES

NO

图4.2清除内存商品流程图

4.3增加商品信息

类外定义一个函数add,首先在函数中定义变量商品代码

num

和商品数量count,都为double类型,商品名name和产地address为char类型,价格price

为int类型,首先要求用户输入商品信息,依次输入商品的代码、商品名称、商品产地、商品单价,判断单价是否在0~65535之间,如果不在范围内重新输入直到在范围之内再继续向下面执行,输入商品库存量,库存在0~99999之间,如果超出范围重新输入,在范围之内继续执行,保存数据。

开始

定义变量

输入商品代码名称产地

输入商品价格

(0~65535)

输入商品库存

(0~99999)

保存

No

No

Yes

Yes

图4.3

增加商品流程图

4.4删除商品信息的过程

(1)在Supermarket类下定义一个Delete函数作为删除商品信息的函数,然后定义商品名,输入商品信息。

(2)查找要删除的结点(节点中包含所有该商品的信息:商品代码、名称、产地、数量、单价),分别定义两个指针,原商品表信息指针p1和输入的商品信息指针p2,在p1循环的过程中比较输入的商品名与原有的商品名是否一致,如果一致则结束本次循环,否则p2指向p1,使得两指针同化,p1指针接着指向下一指针,这样依次向后查询。

(3)删除结点,如果找到要删除的结点则删除,在这个条件下,如果删除的结点是第一个结点,则继续将指针后移删除第一结点,如果删除的结点是后续结点,则将p2下一指针指向p1下一指针,则删除相应的后续结点。

输出的结果是:找到并删除或者sorry,未找到!

流程图如图4.5

查找要删除的结点

定义指针p1

p2

比较输入商品名和商品表已知商品名是否一致

是否找到结点

继续向后查找

p2=p1;p1=p1->next

是否为第一结点

找到则删除成功

查找后续结点

开始

结束

图4.5

删除商品流程图

4.5修改商品信息的过程

(1)定义各参数变量的类型,然后是输入要查找等待修改的商品名称

(2)查找要修改的结点,定义p1、p2指针,p1为指向goods商品表指针,p2为输入的商品指针,判断p1指针,如果输入的商品名和原有的商品名一致,则结束本次循环,否则,p1和p2指针同化,p1接着指向p1的下一指针。

(3)修改结点,若找到相应的要修改的结点,则p1指向Output函数,接着输出要修改的信息,利用Switch语句来调用相应的修改信息。

(4)创建新商品的结点,把原来要修改的结点删除并重新替换要创建的商品结点。如果找到等待修改的结点则修改,否则保持商品表信息不变。

流程图如图4.6

输入要查的商品名

查找要修改的结点

比较输入商品名和商品表已知商品名是否一致

是否找到第一结点

继续向后查找

p2=p1;p1=p1->next

继续查找后续结点

删除并替换

开始

结束

图4.6

修改商品流程图

4.6查询商品的过程:

(1)在Supermarket类下定义一个Query函数作为查询商品信息的函数,输入商品名。

(2)查找要查询的结点(结点中包含所有该商品的信息:商品代码、名称、产地、数量、单价),定义一个原商品表信息指针p1,在p1循环的过程中比较

输入的商品名与原有的商品名是否一致,如果一致则结束本次循环,否则

p1指针接着指向下一指针,这样依次向后查询。

(3)查询结点,如果找到要查询的结点则输出:查询成功并输出其所有信息,若没有找到输出:sorry未找到!

流程图如图4.7

定义指针p1

比较输入商品名和商品表已知商品名是否一致

是否找到商品

继续向后查找

p1=p1->next

输入要查询商品的名字

开始

结束

图4.7查询商品流程图

4.7统计商品的过程

(1)是在Supermarket类下定义一个Add_up函数作为统计商品信息的函数,然后定义两个double型变量Amount和Value分别表示要求统计商品的总量和总价值,输入商品名字name。

(2)查找要统计的结点(结点中包含所有该商品的信息:商品代码、名称、产地、数量、单价),定义一个指针p1,原商品表信息指针p1,在p1循环的过程中比较输入的商品名与原有的商品名是否一致,如果一致则结束本次循环,p1指针接着指向下一指针,这样依次向后查询。没找到则输出:sorry,未找到!

(3)统计商品,每当找到一个商品后就将Amount与p1所指count相加存入Amount,并将此时p1所指的count与price相乘再加上Value存入Value,循环查找相加,最后分别输出。

流程图如图4.8

开始

查找要统计的结点

定义指针p1

比较输入商品名和商品表已知商品名是否一致

是否找到结点

继续向后查找

p1=p1->next

Amount+=p1->count;

Value+=p1->count*p1->price

Value+=p1->count*p1->price

当前指针p1

输出

结束

图4.8

统计商品流程图

第4章

系统测试

打开软件后见到如图所示的界面正式进入超市管理系统

图5.1

系统主界面

该软件有增加商品、删除商品、修改商品、查询商品、统计商品、显示商品六大功能。

(1)增加商品

选择1

进入商品录入界面

图5.2

新增商品信息界面

依次录入商品代码、商品名称、商品产地、商品单价、商品的库存量并按Y保存。

(2)删除商品

图5.3

删除商品界面

首先输入商品的名称,然后选择是Y

或者N。

(3)修改商品

选择3

进入修改商品界面

图5.4

修改商品界面

输入商品的名称,系统会显示商品代码、名称、产地、价格、库存量,然后分别选择1

改商品代码、2改商品名称、3改商品产地、4改商品单价、5

改商品库存量、7改全部信息。

(4)查询商品

图5.5

查询商品界面

输入商品名称后,系统会显示你所查询的商品信息,有商品的代码、商品的名称、商品的产地、商品的单价和库存量等。

(5)统计商品

图5.6

统计商品界面

选择5后进入统计商品,输入商品名称后,会显示出商品的数量和总价值。

(6)显示所有商品

选择6后

系统会显示所有商品的信息

图5.7

显示所有商品信息界面

第6章

在xx老师的耐心指导下,本组成员结各人之长,集集体智慧,终于基本完成了超市管理系统的设计与实现。

在实训期间,各成员按时完成各自的分配任务,及时交付组长进行整理融合。整理完毕后进行调试发现有不少有待改善之处,如商品价格和商品库存量不能为负数,也不能高的离谱等。在李杰老师的严格要求下,最后还增加了一个显示栏,通过该显示函数的实现可对超市所有商品一目了然。本着认真学习,对自己负责的态度,本组成员共同努力,对该系统程序的不足之处尽力修改,尽量达到程序的健壮性等。

但是尽管本组成员都非常努力,但该程序仍有不足之处,如对于商品代码num和商品库存量count若输入英文字母,按回车键后屏幕便会闪烁不停,重新打开系统后前面所输入的商品信息不能保存,在保存商品时按Y以外的键也可保存等。

总之,在XX老师的悉心指导下,我们收获颇丰!不仅深刻掌握了课本知识,而且加强了团队意识,在以后各自的人生发展道路上抹下了浓重的一笔!

参考文献:

[1]《C++面向对象程序设计》(第一版)

谭浩强

北京:清华大学出版社

2006年1月

[2]《C程序设计

》(第三版)

谭浩强

北京:清华大学出版社2005年7月

课程分工:

XX:主界面的设计与实现,商品的显示,程序的整合。

XX:商品的删除,商品的修改。

XX:清除内存中商品的数据,增加商品,创建商品类节点。

XX:查询商品,统计商品数量与价值。

XX:数据存盘与装入。

系统的测试由五人共同完成。

下载c++超市管理系统课程设计报告word格式文档
下载c++超市管理系统课程设计报告.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    C++课程设计(教务管理系统)

    #include using namespace std; #include #include #include #include #include #include"01.h" class University; void menu(University uni);//菜单函数声明class Stude......

    C++课程设计(简单图书管理系统)

    课 程 设 计 课程名称C++课程设计 题目名称图书管理系统 2016 年6 月 29 日目录 一.设计内容与要求 .......................................................................

    c++课程设计:教务管理系统源代码

    #include #include using namespace std; class Person { public: Person(string n):name(n){} virtual void show(){} ~Person(){} protected: string name; }; class......

    C++课程设计学生成绩管理分析系统

    五、解决方案 C++程序设计实践教学环节任务书 1. 分析程序的功能要求,划分程序功能模块。 2. 画出系统流程图。 一、题目: 学生成绩管理分析系统 3. 代码的编写。定义类和各......

    C++课程设计公司人事管理系统

    C++程序设计实践教学环节任务书 承接的项目额(10%)提成,业务经理既拿固定月薪(2000元)也领取提成,财务人员固定工资(2000元),文秘为固定工资(1500元)。 (4) 可按姓名显示、查找、......

    C++课程设计学生信息管理系统

    C++程序设计实践教学环节任务书 一、题目:学生信息管理系统 二、目的与要求 1. 目的: (1) 掌握面向对象程序设计的基本思路和方法; (2) 了解系统开发的需求分析、类层次设计、......

    C++课程设计电话簿管理

    C++课程设计 ————简单电话簿管理 报告内容: 一.程序功能简介 二.课程设计要求 三.课程设计说明 四.参考数据结构 五.具体功能及实现六.源程序及注释 七.感想与心得 学号:05093010......

    航空售票系统+C++课程设计源代码

    #include #include #define M 5//每种飞机票的总数目 #define N 3//飞机票的总数目 class Plane {private: char name[40];//终点站名int number;//航班号int Number;//......