超市管理系统_第1页
超市管理系统_第2页
超市管理系统_第3页
超市管理系统_第4页
超市管理系统_第5页
已阅读5页,还剩22页未读, 继续免费阅读

下载本文档

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

文档简介

1、C+程序设计课程设计报告超市管理系统班级:一.设计题目与要求二.需求分析三.概要设计四.详细设计五.测试六.结论及改进设想一、课程设计题目与要求1 .设计题目超市管理系统2 .系统功能要求(1)销售功能。购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品的相关信息。如果有库存量,输入购买的数量,进行相应计算。如果库存量不够,给出提示信息,结束购买。(2)商品简单管理功能。添加功能:主要完成商品信息的添加。查询功能:可按商品类别、商品名称、生产厂家进行查询。若存在相应信息,输出所查询的信息,若不存在该记录,则提示“该记录不存在!”。修改功能:可根据查询结果对相应的记录进行修改。删除功

2、能:主要完成商品信息的删除。先输入商品类别,再输入要删除的商品名称,根据查询结果删除该物品的记录,如果该商品不在物品库中,则提示“该冏品不存在”。(3)统计功能。输出当前库存中所有商品的总数及详细信息;可按商品的价格、库存量、生产厂家进行统计,输出统计信息时,要按从大到小进行排序。(4)保存功能:将当前程序中的商品信息存入文件中。(5)读取功能:从文件中将商品信息读入程序。工需求分析对这些商品进行有效的管理必不可少。每件商品一般都需要记录商品名、条形码、类别、价格、出厂日期等商品的基本信息。除此之外,还需要记录商品的其他相关信息,如生产厂家、供货处代码、厂家网址、厂家电话等。超市商品的相关信息

3、需要存储到文件系统中,一般都需要提供对商品信息的添加、编辑、删除等操作。超市管理员每天都会记录购进的商品信息,核销过期的商品等。为了巩固我们所学的C+诩言程序设计知识,也为了满足课程设计的要求,我们在对几个中小型超市进行调研的基础上,设计和实现一个小型的超市商品管理系统,提供商品系统的添加、删除、编辑等功能。同类系统多数使用结构体数组来操作数据,本系统使用链表结构操作数据,提高了数据处理的效率。三概要设计1 增加商品2 显示商品3 排序统计商品4 查找商品5 删除商品6 修改商品7 安全退出四详细设计1.设计classSupermarket商品类,实现对商品信息的描叙;设计classSuper

4、marketmassage类,实现对商品信息的增加,删除,修改,查询,统计等。以下是函数功能表:函数功能voidDisplay。输出商品的信息Supermarket。构造函数-Supermarket。析构函数voidAddItem()增加商品voidRemoveItem()删除商品voidModifyItem()修改商品voidFind()查询商品intListCount()统计商品voidSave()基础数据存盘voidSort()排序商品Supermarketmassage()构造函数1 1)用类的成员函数对链表的数据进行操作,其功能如上表所列。2 .设计类及对象本程序定义了两个类,定义如

5、下:1 )classSupermarketclassSupermarketpublic:charname20;charNum20;intCnum;/进货总数intMnum;/销售数目intEnum;/剩余库存数目doublePrice;/单价charAdd20;/产地doubleSum;/销售额Supermarket*Next;voidInput()coutname;coutNum;coutCnum;coutMnum;coutEnum;coutAdd;coutPrice;Sum=Mnum*Price;voidReadFile(istream&in)/文件指针innameNumCnumMnumE

6、numAddPriceSum;voidShow()cout商品名:nameendl商品编号:Numendl进货总数:Cnumendl销售数目:Mnumendl剩余库存:Enumendl产地:Addendl单价:Priceendl销售额:SumendlNext;p!=End;p=p-Next)p-Show();coutInput();End-Next=newSupermarket;End=End-Next;cout”添加成功!endl;coutNext!=End;p=p-Next)/匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p-Next-name,name)returnp;r

7、eturnNULL;Supermarket*FindNum(char*Num)for(Supermarket*p=Head;p-Next!=End;p=p-Next)/匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p-Next-Num,Num)returnp;returnNULL;Supermarket*FindAdd(char*Add)for(Supermarket*p=Head;p-Next!=End;p=p-Next)/匹配成功则返回上一个指针,不成就返回空if(!strcmp(p-Next-Add,Add)returnp;returnNULL;case 1: 程序源代码

8、# include# include# include# include/用getch();usingnamespacestd;/Supermarket类classSupermarketpublic:charname20;charNum20;intCnum;/进货总数intMnum;/销售数目intEnum;/剩余库存数目doublePrice;/单价charAdd20;/产地doubleSum;/销售额Supermarket*Next;voidInput()coutname;coutNum;coutCnum;couttt请输入商品销售数目:cinMnum;couttt请输入商品剩余库存数目:

9、cinEnum;couttt请输入商品产地:cinAdd;couttt请输入商品单价:;cinPrice;Sum=Mnum*Price;)voidReadFile(istream&in)/文件指针(innameNumCnumMnumEnumAddPriceSum;)voidShow()(cout商品名:nameendl商品编号:Numendl进货总数:Cnumendl”销售数目:Next;p!=End;p=p-Next)p-Show();coutInput();End-Next=newSupermarket;End=End-Next;cout添加成功!endl;coutNext!=End;p=

10、p-Next)/匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p-Next-name,name)returnp;returnNULL;Supermarket*FindNum(char*Num)for(Supermarket*p=Head;p-Next!=End;p=p-Next)/匹配成功则返回上一个指针,不成功就返回空if(!strcmp(p-Next-Num,Num)returnp;returnNULL;Supermarket*FindAdd(char*Add)for(Supermarket*p=Head;p-Next!=End;p=p-Next)/匹配成功则返回上一个指针

11、,不成就返回空if(!strcmp(p-Next-Add,Add)returnp;returnNULL;/构造函数Supermarketmassage:Supermarketmassage()Head=newSupermarket;Head-Next=newSupermarket;End=Head-Next;in.open(sort.txt);if(!in)cout这是一个新系统,无商品信息。请先输入。ReadFile(in);if(End-name0=0)break;End-Next=newSupermarket;End=End-Next;in.close();couttt读取商品信息成功!

12、Next!=End;)temp=Head-Next;Head-Next=Head-Next-Next;deletetemp;deleteHead,End;/菜单voidSupermarketmassage:ShowMenu()(cout=超市商品管理系统=endl;cout=endl;cout=1.增加商品信息=endl;cout=2.显示商品信息=endl;cout=3.排序统计商品=endl;cout=*4.查找商品信息=endl;cout=*5.删除商品信息=endl;cout=6.修改商品信息=endl;cout=0.安全退出系统=endl;coutnttntt请选择:;/查找函数.v

13、oidSupermarketmassage二Find()(charname20,Num10;intx;Supermarket*p=NULL;coutntt*nn.couttt1.按商品的名称查找ntt2.按商品编号查找coutx;switch(x)case 2:coutname;if(p=FindItem(name)p-Next-Show();cout输入任意字符!继续;getch();elsecouttt没有找到该商品信息!nendl;cout输入任意字符!继续;getch();break;case 3:coutNum;if(p=FindNum(Num)p-Next-Show();cout输

14、入任意字符!继续II.getch();elsecouttt没有找到该编号的商品!nendl;cout输入任意字符!继续;getch();break;/修改信息voidSupermarketmassage:ModifyItem()/修改信息charname20;Supermarket*p=NULL;coutname;if(p=FindItem(name)couttt已找到商品的信息,请输入新的信息!Next-Input();cout修改成功!endl;cout输入任意字符!继续;getch();elsecouttt没有找到!endl;cout输入任意字符!继续;getch();/删除信息void

15、Supermarketmassage:RemoveItem()/删除信息charname20;Supermarket*p=NULL,*temp=NULL;couttt请输输要删除的商品名:name;if(p=FindItem(name)temp=p-Next;p-Next=p-Next-Next;deletetemp;couttt删除成功!endl;cout输入任意字符!继续;getch();elsecouttt没有找到!endl;coutname,p1-name);/字符串name里面strcpy(temp-Num,p1-Num);strcpy(temp-Add,p1-Add);temp-C

16、num=p1-Cnum;temp-Mnum=p1-Mnum;temp-Enum=p1-Enum;temp-Price=p1-Price;temp-Sum=p1-Sum;strcpy(p1-name,p2-name);strcpy(p1-Num,p2-Num);strcpy(p1-Add,p2-Add);p1-Cnum=p2-Cnum;p1-Mnum=p2-Mnum;p1-Enum=p2-Enum;p1-Price=p2-Price;p1-Sum=p2-Sum;strcpy(p2-name,temp-name);strcpy(p2-Num,temp-Num);strcpy(p2-Add,temp

17、-Add);p2-Cnum=temp-Cnum;p2-Mnum=temp-Mnum;p2-Enum=temp-Enum;p2-Price=temp-Price;p2-Sum=temp-Sum;/统计intSupermarketmassage:ListCount()/统计当前链表的记录总数,返回一个整数if(!Head)return0;intn=0;for(Supermarket*p=Head-Next;p!=End;p=p-Next)n+;returnn;/排序voidSupermarketmassage:Sort()对当前链表进行排序coutSorting.endl;Supermarket*

18、p=NULL,*p1=NULL,*k=NULL;intn=Supermarketmassage:ListCount();if(nNext;p!=End;p=p-Next)for(k=p-Next;k!=End;k=k-Next)if(p-Addk-Add)(Supermarketmassage:Swap(p,k);)cout排序完成!Next;p!=End;p=p-Next)out商品名称:namett商品编号:Numtt进货总数:Cnumtt销售数目:Mnumtt剩余库存:Enumtt商品产地:Addtt商品单价:Pricett销售额:Sumn;out.close();)/intmain()

19、intx,i=0;boolquit=false;coutttendl;for(i=0;i3;i+)coutttttttttendl;couttt【欢迎进入超市商品管理系统】endl;for(i=0;i3;i+)coutttttttttendl;coutttnendl;SupermarketmassageGrade;coutx;switch(x)case0:quit=true;break;case1:Grade.AddItem();break;case2:Grade.Display();break;case3:Grade.Sort();break;case4:Grade.Find();break;case5:Grade.RemoveItem();break;case6:Grade.ModifyItem();break;return0;五.测试1.程序界面D;M i c rosoft Visua I Stu d iy=roje cts3Debug0.exe【欢迎进入超市高品管理系统HUHHHH!读取言兄信息成功?,费任意犍开始2.程序主界面3.增加=:= =* * = 3坤加商品信息虬显示商品信息3 .排序统计商品4

温馨提示

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

最新文档

评论

0/150

提交评论