收藏 分销(赏)

C超市标准管理系统的设计和实现.docx

上传人:快乐****生活 文档编号:2999236 上传时间:2024-06-12 格式:DOCX 页数:28 大小:304.11KB
下载 相关 举报
C超市标准管理系统的设计和实现.docx_第1页
第1页 / 共28页
C超市标准管理系统的设计和实现.docx_第2页
第2页 / 共28页
C超市标准管理系统的设计和实现.docx_第3页
第3页 / 共28页
C超市标准管理系统的设计和实现.docx_第4页
第4页 / 共28页
C超市标准管理系统的设计和实现.docx_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、 目录一、需求分析3二、程序关键功效3三、程序运行平台4四、系统总框架图4五、程序类说明5六、模块分析8七、比较有特色函数9八、运行结果10九、存在不足和对策15十、程序源代码15 一、 需求分析中小型超市采购商品通常全部成千上万件。对这些商品进行有效管理必不可少。每件商品通常全部需要统计商品名、条形码、类别、价格、出厂日期等商品基础信息。除此之外,还需要统计商品其它相关信息,如生产厂家、供货处代码、厂家网址、厂家电话等。超市商品相关信息需要存放到文件系统中,通常全部需要提供对商品信息添加、编辑、删除等操作。超市管理员天天全部会统计购进商品信息,核销过期商品等。为了巩固我们所学C+语言程序设计

2、知识,也为了满足课程设计要求,我们在对多个中小型超市进行调研基础上,设计和实现一个小型超市商品管理系统,提供商品系统添加、删除、编辑等功效。同类系统多数使用结构体数组来操作数据,本系统使用链表结构操作数据,提升了数据处理效率。二、 程序关键功效1、 添加功效: 添加商品信息:有商品代码、商品名称、产地、商品单价、库存量等。2、 删除功效: 依据商品名称,在添加商品中进行删除。3、 显示功效: 能将已经添加或进行修改商品信息进行显示。4、 修改功效: 依据商品民称,在添加商品中进行修改,将这个商品全部信息全部进行修改。5、 查找功效: 依据商品名称或编号进行查找,查找功效有两个查找方法,以备不时

3、之需。6.文件保留 将添加,修改,删除后商品信息进行保留。三、 程序运行平台VC+6.0 和 DEVC+四、 系统总框架图主函数添加信息删除信息清空信息修改信息显示信息查找信息 图片1五、程序类说明本程序定义了两个类Supermarket类class Supermarket public: char name20; char Num20; int Cnum; /进货总数 int Mnum; /销售数目 int Enum; /剩下库存数目 double Price; /单价 char Add20; /产地 double Sum; /销售额 Supermarket * Next; void Inp

4、ut() coutname; coutNum; coutCnum; coutMnum; coutEnum; coutAdd; coutPrice; Sum=Mnum*Price; void ReadFile(istream & in)/文件指针 cinnameNumCnumMnumEnumAddPriceSum; void Show() cout商品名:nameendl 商品编号:Numendl 进货总数:Cnumendl 销售数目:Mnumendl 剩下库存:Enumendl 产地:Addendl 单价:Priceendl 销售额:SumendlNext;p!=End;p=p-Next) p

5、-Show(); coutInput(); End-Next=new Supermarket; End=End-Next; cout添加成功!endl; coutNext!=End;p=p-Next)/匹配成功则返回上一个 指针,不成功就返回空 if(!strcmp(p-Next-name,name)return p; return NULL; Supermarket *FindNum(char * Num) for(Supermarket * p=Head;p-Next!=End;p=p-Next)/匹配成功则返回上一个指针,不成功就返回空 if(!strcmp(p-Next-Num,Num

6、)return p; return NULL; Supermarket *FindAdd(char * Add) for(Supermarket * p=Head;p-Next!=End;p=p-Next)/匹配成功则返回上一个 指针,不成就返回空 if(!strcmp(p-Next-Add,Add)return p; return NULL; ; 六、模块分析 模块分析表-1 函数 功效 Void Display() 输出模块信息 Supermarket() 结构函数 Supermarket() 析构函数 Void AddItem() 增加商品 Void RemoveItem() 删除商品

7、Void ModifyItem() 修改商品 Void find() 查找商品 Int ListCount() 统计商品 Void save() 基础数据存盘Supermarketmassage 结构函数七、比较有特色函数Supermarket *FindItem(char * name) /根据姓名查找商品 for(Supermarket * p=Head;p-Next!=End;p=p-Next)/匹配成功则返回上一个 指针,不成功就返回空 if(!strcmp(p-Next-name,name)return p; return NULL; Supermarket *FindNum(cha

8、r * Num) /根据编号查找 for(Supermarket * p=Head;p-Next!=End;p=p-Next)/匹配成功则返回上一个指针,不成功就返回空 if(!strcmp(p-Next-Num,Num)return p; return NULL; Supermarket *FindAdd(char * Add) for(Supermarket * p=Head;p-Next!=End;p=p-Next)/匹配成功则返回上一个 指针,不成就返回空 if(!strcmp(p-Next-Add,Add)return p; return NULL; void Supermarket

9、massage:Save() out.open(sort.txt); for(Supermarket *p=Head-Next;p!=End;p=p-Next) out商品名称:namett 商品编号:Numtt 进货总数:Cnumtt 销售数目:Mnumtt 剩下库存:Enumtt 商品产地:Addtt 商品单价:Pricett 销售额:Sumn; out.close(); 八、运行结果1.运行界面2. 增加4.显示5. 查找6. 删除7. 修改8. 保留九、存在不足和对策于设计者水平有限立即间等方面原因,该系统功效比较简单,只有基础功效,增删改查,我还添加了多个在我能力范围之内应用,比如文

10、件,还有就是统计,这些在我能力之内内容,这个程序我真把我所学知识全部用上了,所以还有很多待完善地方,比如登陆界面密码,还划分管理员和一般用户,这些全部是我欠缺知识,所以我期望在以后学习中能学到更多知识,填补自己不足。十、程序源代码# include # include /文件使用 # include #include /用getch(); using namespace std;class Supermarket /定义超市类 public: char name20; char Num20; int Cnum; /进货总数 int Mnum; /销售数目 int Enum; /剩下库存数目 d

11、ouble Price; /单价 char Add20; /产地 double Sum; /销售额 Supermarket * Next; void Input() coutname; coutNum; coutCnum; coutMnum; coutEnum; coutAdd; coutPrice; Sum=Mnum*Price; void ReadFile(istream & in)/文件指针 cinnameNumCnumMnumEnumAddPriceSum; void Show() /显示模块 cout商品名:nameendl 商品编号:Numendl 进货总数:Cnumendl 销售

12、数目:Mnumendl 剩下库存:Enumendl 产地:Addendl 单价:Priceendl 销售额:SumendlNext;p!=End;p=p-Next) p-Show(); coutInput(); End-Next=new Supermarket; End=End-Next; cout添加成功!endl; coutNext!=End;p=p-Next)/匹配成功则返回上一个 指针,不成功就返回空 if(!strcmp(p-Next-name,name)return p; return NULL; Supermarket *FindNum(char * Num) /根据编号查找 f

13、or(Supermarket * p=Head;p-Next!=End;p=p-Next)/匹配成功则返回上一个指针,不成功就返回空 if(!strcmp(p-Next-Num,Num)return p; return NULL; Supermarket *FindAdd(char * Add) for(Supermarket * p=Head;p-Next!=End;p=p-Next)/匹配成功则返回上一个 指针,不成就返回空 if(!strcmp(p-Next-Add,Add)return p; return NULL; ; /结构函数 Supermarketmassage:Superma

14、rketmassage() Head=new Supermarket; Head-Next=new Supermarket; End=Head-Next; in.open(sort.txt); if(!in) cout这是一个新系统,无商品信息。请先输入。ReadFile(in); if(End-name0=0) break; End-Next=new Supermarket; End=End-Next; in.close(); couttt读取商品信息成功!Next!=End;) temp=Head-Next; Head-Next=Head-Next-Next; delete temp; d

15、elete Head,End; void Supermarketmassage:ShowMenu() cout 超 市 商 品 管 理 系 统 endl; cout endl; cout 1.增加商品信息 endl; cout 2.显示商品信息 endl; cout 3.查找商品信息 endl; cout 4.删除商品信息 endl; cout 5.修改商品信息 endl; cout 0.保留文件退出 endl; coutnttntt请选择:; void Supermarketmassage:Find()/查找模块 char name20 ,Num10; int x; Supermarket

16、* p=NULL; coutntt*n; couttt 1.按商品名称查找ntt 2.按商品编号查找; coutx; switch(x) case 1: coutname; if(p=FindItem(name) p-Next-Show(); cout输入任意字符!继续; getch(); else couttt没有找到该商品信息!nendl; cout输入任意字符!继续; getch(); break; case 2: coutNum; if(p=FindNum(Num) p-Next-Show(); cout输入任意字符!继续; getch(); else couttt没有找到该编号商品!

17、nendl; cout输入任意字符!继续; getch(); break; void Supermarketmassage:ModifyItem() /修改信息 char name20; Supermarket* p=NULL; coutname; if(p=FindItem(name) couttt已找到商品信息,请输入新信息!Next-Input(); cout修改成功!endl; cout输入任意字符!继续; getch(); else couttt没有找到!endl; cout输入任意字符!继续; getch(); void Supermarketmassage:RemoveItem(

18、) / 删除信息 char name20; Supermarket * p=NULL,*temp=NULL; couttt请输入要删除商品名:name; if(p=FindItem(name) temp=p-Next; p-Next=p-Next-Next; delete temp; couttt删除成功!endl; cout输入任意字符!继续; getch(); else couttt没有找到!endl; coutNext;p!=End;p=p-Next) n+; return n; /保留函数 void Supermarketmassage:Save() out.open(sort.txt

19、); for(Supermarket *p=Head-Next;p!=End;p=p-Next) out商品名称:namett 商品编号:Numtt 进货总数:Cnumtt 销售数目:Mnumtt 剩下库存:Enumtt 商品产地:Addtt 商品单价:Pricett 销售额:Sumn; out.close(); /主函数 int main() int x,i=0; bool quit=false; coutttendl; for(i=0;i3;i+) couttttttttt endl; couttt【 欢迎进入超市商品管理系统 】endl; for(i=0;i3;i+) couttttttttt endl; coutttnendl; Supermarketmassage Grade; coutx; switch(x) case 0:quit=true;break; case 1:Grade.AddItem();break; case 2:Grade.Display();break; case 3:Grade.Find();break; case 4:Grade.RemoveItem();break; case 5:Grade.ModifyItem();break; return 0;

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服