版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+程序设计课程设计报告设计题目:专业班级:小组成员:超市治理系统指导教师:李大扬2022/6/30目录一.设计目的与任务描述二.设计思想三.系统功能与设计过程四.程序源代码五.运行状况六.心得体会七.参考文献超市治理系统一设计目的与任务描述设计目的:生疏C+语言系统开发的根本过程稳固所学学问,培育和提高学生分析和解决实际问题的力量任务描述:需求分析: 件商品一般都需要记录商品名、条形码、类别、价格、出厂日期等商品的根本信息。除此之外,还需要记录商品的其他相关信息,如生产厂家、供货处代码、厂家网址、厂家 等。 除等操作。超市治理员每天都会记录购进的商品信息,核销过期的商品等。为了稳固我们所学的
2、C+语言程序设计学问,也为了满足课程设计的要求,我们在对 构造操作数据,提高了数据处理的效率。地,单价等。完成以下根本功能:A、添加商品信息:有商品代码、商品名称、产地、商品单价、库存量等。C、查询,统计商品:输入商品名称,查询,统计相应商品信息。二:设计思想函数功能Void Output输出商品的信息Supermarket构造函数class goods函数功能Void Output输出商品的信息Supermarket构造函数Supermarket析构函数Supermarket析构函数void Add;增加商品void Delete;删除商品void Modify;修改商品void Query
3、;查询商品void Add_up;统计商品void Save;根底数据存盘void Load;根底数据装入Goods(double num,构造函数char*name,char*address,int price,doublecount)设计菜单来实现功能设计增加商品删除商品修改商品查询商品;统计商品6退出三.设计类及对象本程序定义了两个类,后者为前者的友元类。定义如下:1.classGoodsclass Goodsprotected:char name20;/商品名称double num;/商品代码char address30;/商品产地int price;/商品单价double count
4、;/该类商品库存量Goods *next;public:Goods(double num,char*name,char*address,int price,double count)this-num=num; strcpy(this-name,name);strcpy(this-address,address); this-price=price;this-count=count;void Outputcout“num:“num“name:“name“address:“address“price:“price“count:“countnext;delete goods;goods=p;good
5、s=NULL;void Add;/增加商品void Delete;/删除商品void Modify;/修改商品void Query;/查询商品void Add_up;/统计商品void Save;/根底数据存盘void Load;/根底数据装入;四.程序源代码/ supermarket.cpp : Defines the entry point for the console application./#include “stdafx.h“/ int main(int argc, char* argv)/ /return 0;/ #include#include#include #includ
6、e#includeint n=0;/全局数据,结点数量class Goodsprotected:char name20;/商品名称double num;/商品代码char address30;/商品产地int price;/商品单价double count;/该类商品库存量Goods *next;public:Goods(double num,char*name,char*address,int price,double count)this-num=num; strcpy(this-name,name);strcpy(this-address,address); this-price=pri
7、ce;this-count=count;void Outputcout“num:“num“name:“name“address:“address“price:“price“count:“countnext; delete goods;goods=p;goods=NULL;void Add; void Delete; void Modify; void Query; void Add_up;void Save; void Load;/增加商品/删除商品/修改商品/查询商品/统计商品/根底数据存盘/根底数据装入;void Supermarket:Clear/去除内存中商品数据内部使用Goods*
8、p;p=goods; while(p)goods=p-next;delete p; p=goods;void Supermarket:AddGoods *p;double num,count;char name20,address30;int price;cout“n 请输入增商品信息:n“;coutnum; coutname; coutaddress; coutprice; coutcount;/创立商品类结点p=new Goods(num,name,address,price,count);p-next=NULL;if(goods=NULL)goods=p;n+;elseGoods *p2
9、=goods;while(p2-next)p2=p2-next;p2-next=p;n+;void Supermarket:Delete/删除商品char name20;coutname;/查找要删除的结点 Goods *p1,*p2;p1=goods;while(p1)if(strcmp(p1-name,name)=0) break;elsep2=p1; p1=p1-next;/删除结点if(p1!=NULL)if(p1=goods)goods=p1-next;delete p1;n-;elsep2-next=p1-next;delete p1;n-;/假设找到结点,则删除/假设要删除的结点
10、是第一个结点/假设要删除的结点是后续结点cout“找到并删除n“;else/未找到结点cout“Sorry,未找到!n“;void Supermarket:Modify/修改商品信息double num,count;char name20,address30;int price;cout“n 修改商品,请输入要查的商品名称:n“;coutname;/查找要修改的结点 Goods *p1,*p2;p1=goods;while(p1)if(strcmp(p1-name,name)=0) break;elsep2=p1; p1=p1-next;/修改结点if(p1!=NULL)/假设找到结点p1-O
11、utput;couta;switch(a)case 1:coutnum;strcpy(name,p1-name);strcpy(address,p1-address);price=p1-price;count=p1-count; break;case 2:coutname;num=p1-num;strcpy(address,p1-address);price=p1-price;count=p1-count;break;case 3:coutaddress;num=p1-num;strcpy(name,p1-name);price=p1-price;count=p1-count; break;c
12、ase 4:coutprice;num=p1-num;strcpy(name,p1-name);strcpy(address,p1-address);count=p1-count; break;case 5:coutcount;num=p1-num;strcpy(name,p1-name);strcpy(address,p1-address);price=p1-price; break;case 6:cout“请输入信息:n“;coutnum; coutname; coutaddress; coutprice; coutcount; break;/创立商品结点Goods *p3;p3=new
13、Goods(num,name,address,price,count);/员工结点替换到链表p3-next=p1-next;if(p1=goods)/假设要替换的结点是第一个结点goods=p3;else/假设要替换的结点是后续结点p2-next=p3;delete p1;/删除原来的商品结点cout“修改成功!n“;else/未找到结点cout“Sorry,未找到!n“;void Supermarket:Querycout“n*查询商品*n“;char name20;coutname;Goods *p1=goods;while(p1)if(strcmp(p1-name,name)=0) br
14、eak;else p1=p1-next;if(p1!=NULL)/假设找到结点cout“n 要查询的信息如下:n“;cout“该类商品代码:t“num“t“该类商品名称:t“name“tn“; cout“该 类 商 品 产 地 :t“address“t“该 类 商 品 单价:t“price“tn“;cout“该类商品库存量:t“count“t“;else /未找到结点cout“nSorry,未找到该类商品!n“;void Supermarket:Add_up/统计超市商品总数量于价值cout“n*商品统计*n“; double Amount=0,Value=0;char name20;cout
15、name;Goods *p1;p1=goods; while(p1)if(strcmp(p1-name,name)=0) break;else p1=p1-next;if(p1)while(p1)Amount+=p1-count; Value+=p1-count*p1-price; p1=p1-next;cout“商品总数量是:n“;coutAmount;cout“n 商品总价值是:n“;coutValue;elsecout“nSorry,未找到该类商品!n“;void Supermarket:Save/数据存盘couta; if(a=”n”)return; if(a=”y”|a=”Y”)of
16、stream outfile(“base.txt“,ios:out); if(!outfile)cerr“open error!“;exit(1);Goods* p;p=goods;while(p)outfile“商品代码tt“numendl;outfile“商品名称tt“nameendl; outfile“商品产地tt“addressendl; outfile“商品单价tt“priceendl; outfile“该商品库存量t“countendl; coutnext;outfile.close;coutp-nump-namep-addressp-pricep-count; while(inf
17、ile.good)/创立商品结点p=new Goods(p-num,p-name,p-address,p-price,p-count);p-next=NULL;/商品结点参加if(goods)/假设已存在结点Goods*p2;p2=goods;while(p2-next)/查找尾结点p2=p2-next; p2-next=p;连接else/表空goods=p;/连接/读下一条信息infilep-nump-namep-addressp-pricep-count;cout“n 商品数据已经装入n“;int mainchar c; Supermarket a;docout“n*超市进销存治理系统*n
18、“;cout“1增加商品n“;cout“2删除商品n“;cout“ 3修改商品n“;cout“ 4查询商品n“;cout“ 5统计商品n“;coutc;switch(c)case ”1”:a.Add;a.Save;break;case ”2”:a.Load;a.Delete;a.Save;break;case ”3”:a.Load;a.Modify;a.Save;break;case ”4”:a.Load;a.Query; break;case ”5”:a.Load;a.Add_up;break;while(c!=”6”);return 0;五.运行状况程序界面增加商品3删除商品修改商品查询商品统计商品6退出六.心得体会 visual c+ 中的一些主要学问点和应用点,如类的定义,类的实现,对象的定义,类的继承等等。能够学以致用,不至于自己所学学问由于没有经受可用过程,而放弃对它的兴趣。从而对Microsoft Visual C+ 6.0 又有了更深入的生疏!在这次课程设计中,我们还懂得了程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度企业停薪留职合同范例
- 2024年度健身房设施建设及管理定制合同
- 再见了 亲人课件
- 2024年度汽车装潢店装修设计合同
- 《钢结构的发展》课件
- 2024年度版权转让与授权播放协议3篇
- 2024年度短视频平台运营与推广协议
- 2024年度电子商务产业园杭州品牌合作合同
- 2024年度荒山绿化项目承包合同
- 债券市场研究系列:2024年10月图说债市月报:多空交织债券收益率涨跌互现违约率小幅抬升
- 国开2024秋《形势与政策》专题测验1-5参考答案
- 职业教育国家在线课程申报书
- 2025届高考语文复习:小说情节概括+课件
- 137案例黑色三分钟生死一瞬间事故案例文字版
- 期中测试卷(试题)-2024-2025学年人教版数学六年级上册
- 2024年“农业经理人”职业技能大赛考试题库500题(含答案)
- (高清版)TDT 1055-2019 第三次全国国土调查技术规程
- 维护社会稳定规定
- 2024年河北承德热力集团招聘笔试参考题库含答案解析
- 软件测试项目课件04黑盒测试
- DB31-T 540-2022 重点单位消防安全管理要求
评论
0/150
提交评论