C++《超市商品管理系统》课程设计报告.docx

上传人:b****5 文档编号:3373251 上传时间:2022-11-22 格式:DOCX 页数:49 大小:240.48KB
下载 相关 举报
C++《超市商品管理系统》课程设计报告.docx_第1页
第1页 / 共49页
C++《超市商品管理系统》课程设计报告.docx_第2页
第2页 / 共49页
C++《超市商品管理系统》课程设计报告.docx_第3页
第3页 / 共49页
C++《超市商品管理系统》课程设计报告.docx_第4页
第4页 / 共49页
C++《超市商品管理系统》课程设计报告.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

C++《超市商品管理系统》课程设计报告.docx

《C++《超市商品管理系统》课程设计报告.docx》由会员分享,可在线阅读,更多相关《C++《超市商品管理系统》课程设计报告.docx(49页珍藏版)》请在冰豆网上搜索。

C++《超市商品管理系统》课程设计报告.docx

C++《超市商品管理系统》课程设计报告

 

《面向对象程序设计》

课程设计报告

学院:

_电气与信息工程学院专业班级:

计科13-01班

学生姓名:

胡凯学号:

**********

设计地点(单位)_______计算机自主学习中心_________

设计题目:

________超市商品管理系统___________

完成日期:

2015年1月12日

指导教师评语:

_______________________________________

____________________________________________________________________________________________________________________________________________________________________________________________________________________

成绩(五级记分制):

________________

指导教师(签字):

_______________

 

摘要

此次课程设计为超市管理系统,由VC6.0编译器编译而成。

通过本系统,在主界面可以通过行管提示的操作,对商品进行购买、添加、修改、删除、查询、统计等管理操作。

系统主要包含了食品、化妆品、日用品、饮料四大类,每一类都包含了商品的几大最基本信息,商品名称、品牌、价格、生产厂家、库存量等。

除四大类外有一个总的商品基类,通过继承机制进行访问基类,同时也结合运用了模板。

通过此系统用户可以简洁方便的购买商品,管理人员也可轻松进行商品管理,从而实现高效的管理模式,为公司企业商家等创造最大化的经济效益。

关键词:

管理系统基类继承模板

重庆科技学院

课程设计任务书

设计题目:

超市商品管理系统设计

学生姓名

胡凯

课程名称

面象对象程序设计课程序设计

专业班级

计科13

地点

I313

起止时间

设计内容及要求

1)问题描述

超市中商品分为四类,分别是食品、化妆品、日用品和饮料。

每种商品都包含商品名称、价格、库存量和生产厂家、品牌等信息。

主要完成对商品的销售、统计和简单管理。

2)功能要求

(1)销售功能。

购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品的相关信息。

如果有库存量,输入购买的数量,进行相应计算。

如果库存量不够,给出提示信息,结束购买。

(2)商品简单管理功能。

添加功能:

主要完成商品信息的添加。

查询功能:

可按商品类别、商品名称、生产厂家进行查询。

若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记录不存在!

”。

修改功能:

可根据查询结果对相应的记录进行修改。

删除功能:

主要完成商品信息的删除。

先输入商品类别,再输入要删除的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库中,则提示“该商品不存在”。

(3)统计功能。

输出当前库存中所有商品的总数及详细信息;可按商品的价格、库存量、生产厂家进行统计,输出统计信息时,要按从大到小进行排序。

3)问题的解决方案

根据系统功能要求,可以将问题解决分为以下步骤:

(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;

(2)分析系统中的各个实体及它们之间的关系;

(3)根据问题描述,设计系统的类层次;

(4)完成类层次中各个类的描述;

(5)完成类中各个成员函数的定义;

(6)完成系统的应用模块;

(7)功能调试;

(8)完成系统总结报告。

根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。

设计

参数

(1)系统分析、设计正确。

(2)结果以图表方式显示。

(3)界面简洁、美观。

(4)报告格式规范。

进度

要求

18周星期一8:

30~12:

10任务分配,了解需求,并制定课程设计计划

18周星期二8:

30~12:

10软件需求任务,并完成初步的设计,模块设计,文档设计

18周星期三8:

30~12:

10完成项模块设计,接口设计,类的功能模块设计

18周星期四8:

30~12:

10完成项类的算法计,

18周星期五8:

30~12:

10编写程序算法

19周星期一8:

30~12:

10编写程序算法

19周星期二8:

30~12:

10编写程序算法,软件调试,测试

19周星期三8:

30~12:

10软件调试,测试,并准备软件开发文档

19周星期四8:

30~12:

10编写课程设计报告,准备答辩

19周星期五8:

30~12:

10报告提交,答辩。

参考资料

[1]RichardJohnsonbaugh.MartinKalin.《面向对象程序设计—C++语言描述》.机械工业出版社.2009年

[2]钱能.《C++语言程序设计教程》.清华大学出版社.2005年

其它

说明

1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。

2.若填写内容较多可另纸附后。

3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。

教研室主任:

王双明指导教师:

裴仰军/伍建全/焦晓军2014年12月10日

 

1软件需求分析说明书

1.1需求分析

随着科技的进步,计算机技术的飞速发展,许多企业在进行技术改造的同时,各种工作也趋向于信息技术化管理。

管理系统事一个信息化、智能化和先进管理集合,一个高效有用的管理系统课一减少一个企业或者上商家的管理费用和人力物力开支,不仅可以节省大量时间,还可以为企业的各项决策带来巨大的经济效益。

与人们生活接触最贴近的超市也有它自己完善的管理系统。

计算机的自动化管理系统提高了超市管理的管理水平和工作效率,增强超市的竞争能力降低成本,为客户提供更加优质的服务。

所以需要开发一个计算机系统来代替人工管理超市人员对商品信息管理和顾客购买等方面的工作。

使用该系统可以使超市的服务更加快捷、准确和方便,减少大量的人工操作,提高了工作效率。

1.2功能简介

1.2.1销售功能

本功能主要是针对消费者用户使用。

在购买商品时,用户得输入所要购买商品的编号和商品数量,然后系统会自动在库存当中查找该商品的相关信息,如果在库存中还有库存量,则用户接着进行下一步操作,根据提示输入要购买的商品的数量,进行相应的计算。

如果库存量不够,则系统会给出提示信息,然后询问顾客是否重新购买,又回到系统页面主菜单。

1.2.2商品管理功能

商品管理功能主要是针对超市管理人员使用,对库存商品进行简单的管理。

本功能当中主要可以实现商品的添加、查询、修改、删除等功能。

(1)添加商品

通过主页面提示菜单键入相对应数字进入添加商品选项,然后根据提示添加商品信息,主要包括商品名称、商品编号、商品品牌、商品价格、商品生产厂家、以及商品的库存量等。

(2)删除商品

通过主页面的提示菜单键入相应数字进入删除商品选项,完成最商品信息的删除。

选择输入要删除商品的编号,根据查询结果删除商品的记录,如果该商品在库存物品当中不存在,则系统给出相应提示,该商品不存在。

(3)修改商品

通过主页面的提示菜单键入相应数字进入修改商品选项,对商品信息进行修改。

可根据查询的结果对相应的商品信息进行修改,包括商品的名称、品牌、价格、生产厂家和库存量等。

(5)查询商品

通过主页面的提示菜单键入相应数字进入查询商品选项,对商品信息进行查询。

可根据相应提示选择查询方式,按商品编号,商品名称进行查询商品的全部信息。

如果存在相应商品的信息,则输出所查询商品的信息,如果不存在该商品的记录,则系统自动提示该商品的记录不存在。

1.2.3排序功能

此功能主要是提供显示功能。

用户可通过主页面的显示菜单键入相应的数字进入统计选项,可以输出当前库存当中的所有商品的总数及相应商品的详细信息,可以按照商品的进价格、库存量、净利润进行统计,输出商品信息时可以按照商品的对应信息按照从大到小的的顺序进行排序输出。

1.3界面介绍与要求

图1.3.1系统欢迎页面介绍

图1.3.2系统首页面介绍

本系统的软件界是使用C++编译生成的一个系统操作菜单。

操作菜单界面总共有9个选项可以供用户操作选择,分别为增加商品、显示商品、排序商品、查找商品、删除商品、修改商品、售出商品、保存商品信息、安全退出。

菜单页面下方有可供用户选择操作项目的指令,当用户选择并输入0-8中的任意数字,系统便会进入相应的功能操作。

如果出现错误操作,系统会该处输入错误请从新输入等提示或者自动跳出回到主菜单界面。

页面的组织和设计要求先构思好系统的功能模块和结构框架,分析系统中的各个实体以及它们间的具体联系关系,根据问题的描述先设计好系统的类层次,完成类层次中各个成员函数的定义,实现每一个模块层次之间的衔接,从而设计出工整漂亮的管理系统,要求整个系统的界面设计简洁、美观,让用户使用起来方便快捷。

1.4数据结构要求

在整个系统当中除了使用类层次结构、继承机制、模板等,还使用的了数据结构当中的链表结构,主要用来进行商品的管理功能。

包括商品的添加、修改、删除、查询等。

可以通过链表进行存储、访问操作。

通过动态申请链表空间,用指针操作数据节点完成商品信息的一系列操作。

 

2系统分析与设计

2.1系统分析

系统的主要工作流程图如下,当进入操作主菜单界面时,会有相应的不同的操作选项供用户选择,但操作完成后就返回到系统主菜单。

2.1.1类的设计关系

图2.1系统类的设计关系图

2.1.2主功能函数流程图

 

图2.2首页面功能关系图

 

2.3系统的算法设计

2.3.1购买商品程序算法

当用户选择操作时,便进入购买商品的函数。

其流程图如下:

 

图2.3商品购买操作流程图

 

2.3.2添加商品程序算法

其流程图如下

图2.4商品添加操作流程图

 

2.3.3修改商品程序算法

其流程图如下:

 

 

图2.5商品修改操作流程图

2.3.4排序商品程序算法

其流程图如下:

 

图2.6商品统计功能流程图

 

3软件的实现

3.1主系统头文件和基类的定义

#include

#include

#include

#include

#include//用getch();

usingnamespacestd;

//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Goods类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

classGoods

{

public:

Goods()

{

}

intkind;

charname[20];//哇哈哈

charId[20];

charplace[10];

charbrand[10];

floatbuyprice;//进货价;

floatsaleprice;//卖出价;

intamount;//存货数量;

intamount1;//售货数量;

intprofit;//净利润;

Goods*Next;

voidInputAll()

{

InputName();

InputKind();

InputID();

InputOther();

};

3.2售出商品代码解释

 

voidGoodsmessage:

:

Saleprice()

{

charId[20];inti;

Goods*p=NULL;

Goods*temp=NULL;

cout<<"\t\t请输入要售出的商品的编号和数量:

"<>Id;cin>>i;

if(p=FindID(Id))

{

p->Next->amount-=i;

p->Next->amount1+=i;

p->Next->profit+=i*(p->Next->saleprice-p->Next->buyprice);

cout<<"商品售出成功!

"<<"售出商品编号:

"<

"<

"<

p->Next->Show();

Save();

cout<<"输入任意字符!

继续……";

getch();

}

else

{

cout<<"\t\t没有找到您需要的商品!

"<

cout<<"输入任意字符!

继续……";

getch();

}

}

该函数实现了对商品的购买功能,并且计算出本次购买所消费金额以及净利润。

3.3添加商品代码解释

voidAddItem()//从键盘输入商品信息

{

system("cls");

End->InputName();

showMenu

(1);

End->InputKind();

do

{

End->InputID();

}while(FindID(End->Id));

End->InputOther();

End->Next=newGoods;

End=End->Next;

cout<<"添加成功!

"<

cout<<"输入任意字符!

继续……";

getch();

3.4删除商品代码解释

voidGoodsmessage:

:

RemoveItem()//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌删除商品信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

{

system("cls");

charId[20];

Goods*p=NULL,*temp=NULL;

cout<<"\t\t请输入要删除的商品的编号:

"<>Id;

if(p=FindID(Id))

{

temp=p->Next;

p->Next=p->Next->Next;

deletetemp;

cout<<"\t\t删除成功!

"<

cout<<"输入任意字符!

继续……";

getch();

}

else

{

cout<<"\t\t没有找到您需要的商品!

"<

cout<<"输入任意字符!

继续……";

getch();

}

}

3.5修改商品代码解释

voidGoodsmessage:

:

ModifyItem()//修改商品信息

{

showMenu(3);

intx;

cin>>x;

switch(x)

{

case1:

{

charId[20];

Goods*p=NULL;

cout<<"\t\t请输入要修改的商品的编号:

";cin>>Id;

if(p=FindID(Id))

{

cout<<"\t\t已找到商品的信息,请输入新的信息!

"<

p->Next->InputName();

cout<<"修改成功!

"<

cout<<"输入任意字符!

继续……";

getch();

}

else

{

cout<<"\t\t没有找到您需要的商品!

"<

cout<<"输入任意字符!

继续……";

getch();

}

break;

}

case2:

{

charId[20];

Goods*p=NULL;

cout<<"\t\t请输入要修改的商品的编号:

";cin>>Id;

if(p=FindID(Id))

{

cout<<"\t\t已找到商品的信息,请输入新的信息!

"<

p->Next->InputKind();

cout<<"修改成功!

"<

cout<<"输入任意字符!

继续……";

getch();

}

else

{

cout<<"\t\t没有找到您需要的商品!

"<

cout<<"输入任意字符!

继续……";

getch();

}

break;

}

}

3.6查询商品代码解释

voidGoodsmessage:

:

Find()//﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌查找函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌

{

system("cls");

charname[20],Id[10];

intx;

Goods*p=NULL;

showMenu(5);

cin>>x;

switch(x)

{

case1:

{cout<<"\t\t请输入要查找的商品的名称:

";cin>>name;

if(p=FindItem(name))

{

p->Next->Show();

cout<<"输入任意字符!

继续……";

getch();

}

else

{

cout<<"\t\t没有找到该名称的商品!

"<<'\n'<

cout<<"输入任意字符!

继续……";

getch();

}

}break;

case2:

{

cout<<"\t\t请输入要查找的商品的编号:

";cin>>Id;

if(p=FindID(Id))

{

p->Next->Show();

cout<<"输入任意字符!

继续……";

getch();

}

else

{

cout<<"\t\t没有找到该编号的商品!

"<<'\n'<

cout<<"输入任意字符!

继续……";

getch();

}

}break;

}

}

该函数实现了对商品信息的查询功能,并且显示出所查商品的所有信息。

3.7商品排序代码解释

voidGoodsmessage:

:

Swap(Goods*p1,Goods*p2)//交换两个商品的数据

{

Goods*temp=newGoods;

strcpy(temp->name,p1->name);

temp->kind=p1->kind;

strcpy(temp->Id,p1->Id);

strcpy(temp->place,p1->place);

temp->saleprice=p1->saleprice;

temp->buyprice=p1->buyprice;

temp->amount=p1->amount;

temp->profit=p1->profit;

strcpy(temp->brand,p1->brand);

strcpy(p1->name,p2->name);

p1->kind=p2->kind;

strcpy(p1->Id,p2->Id);

strcpy(p1->place,p2->place);

p1->saleprice=p2->saleprice;

p1->buyprice=p2->buyprice;

p1->amount=p2->amount;

p1->profit=p2->profit;

strcpy(p1->brand,p2->brand);

strcpy(p2->name,temp->name);

p2->kind=temp->kind;

strcpy(p2->Id,temp->Id);

strcpy(p2->place,temp->place);

p2->saleprice=temp->saleprice;

p2->buyprice=temp->buyprice;

p2->amount=temp->amount;

p2->profit=temp->profit;

strcpy(p2->brand,temp->brand);

}

voidGoodsmessage:

:

Paixu()

{

showMenu(4);

intx;

cin>>x;

switch(x)

{

case1:

{

system("cls");

cout<<"\t\t排序中..."<

cout<<"\n";

Goods*p=NULL,*p1=NULL,*k=NULL;

intn=Goodsmessage:

:

ListCount();

if(n<2)

return;

for(p=Head->Next;p!

=End;p=p->Next)

for(k=p->Next;k!

=End;k=k->Next)

{

if(p->buyprice>k->buyprice)

{

Goodsmessage:

:

Swap(p,k);

}

}

Display();

cout<<"排序完成!

"<

getch();

return;

}

}

 

4系统功能实现

4.1系统功能主菜单界面实现

 

图4.1系统主菜单页面

4.2商品售出界面实现

图4.2购买商品操作界面

4.3商品添加界面实现

 

图4.3添加商品操作界面

4.4商品修改界面实现

图4.4修改商品操作界面

4.5商品排序界面实现

图4.5商品排序操作界面

软件使用说明书

5.1售出功能模块的使用说明

在使用本系统首先会进入系统首页面上面有相应数字操作提示,请选择要进行的操作项目,用户键入7便进入售出商品功能。

根据相关提示输入选择商品编号,然后输入商品数量,并且在库存当中进行查找所要购买的商品信息,如果有库存量,然后系统会进行相应的费用计算,如果库存量不够,系统会给出相关的提示信息,结束本次购买,返回主页面。

5.2商品管理功能的使用说明

在本管理模块主要有四个功能,即商品添加功能、删除功能、修改功能、查询功能,主要适用于超市商品管理人员对库存商品进行管理。

根据首页面的提示信息进入相依的操作。

键入1便进入添加商品功能,会提示用户键入商品的名称,然后选择种类、再依次输入品牌、价格、生产厂家、库存量等信息,然后自动保存。

键入5便进入删除商品功能,选择输入商品编

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1