版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、淮海工学院计算机工程学院课程设计报告设计名称:C+程序设计课程设计姓 名:学 号:专业班级:系(院):设计时间:设计地点:指导教师评语:成绩:签名:年 月 日1、课程设计目的C+程序设计课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖 C+的知识点,又接近工程实际需要。目的是通过课程设计 的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过 课程设计这种形式,帮助学生系统掌握C+程序设计这门课程的主要内容,养成良好的编程习惯, 更好的完成教学任务。2、课程设计任务与要求:本次课程设计利用C+程序设计课程中所学到
2、的编程知识和编程技巧,完成具有一定难 度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。要求:1、对系统进行功能需求分析2、设计合理的数据结构和系统框架3、编程简练,程序功能齐全,能正确运行4、说明书、流程图要清楚5、课题完成后必须按要求提交课程设计报告任务:设计一个商品销售管理系统。运用C+语言描述商品类、供应商类。要求设计中综合运用C+基础知识,利用指针对商品、 供应商链表进行处理,方便快捷的进行增删改,充分利用友元来处理两个类之间的关系, 理解面向对象程序设计的核心的概念。实现功能:(1)建立商品类、供应商类(2)商品、供应商信息的初始化(3) 商品信息的
3、添加、修改、删除、查找(4)供应商信息的添加、修改、删除、查找(5)商品信息、供应商信息的输出备注:将商品、供应商保存为文件,能够写入与读出概要设计(1)需求分析:要实现对商品,供应商信息的添加、修改、删除、查找,并输出信息,能够方便快捷,并有用户 能详细清楚的操作指南。(2) 模块说明:本次程序设计中,需要设计10个模块,分别是添加、修改、删除、查找、输出 商品信息和供应商信息,一共4个类:分别是商品类、商品数据类、供应商类、供应商数据类。 通过几个switch语句实现用户选择功能。主要函数流程图:(3)详细设计商品数据类的设计class spDataprivate:char name100
4、;int count;float iprice;float oprice;char gys20;public:int id;int getld()char *getName()int getCou nt()float getBuy()float getSale()char *getGys()void setId(i nt n)void setName(char n a)void setCo un t(i nt c)void setBuy(float i)void setSale(float o)void setGys(char g);商品类的设计class Commodityprivate:s
5、pData t50;int n;public:void n ewFile()int id;int n;char n ame50;int count;float iprice;float oprice;char gys20;if(n id;if(id=-1)break;tn .setld(id);cout商品名:;cinn ame;tn .setName( name);cout库存量:;cin co unt;tn .setCo un t(co un t);cout进价:;cin iprice;tn .setBuy(iprice);cout售价:;cin oprice;tn .setSale(op
6、rice);cout供应商:;cin gys;tn .setGys(gys);coutvv若商品添加完毕,请按-1退出添加!endl;for(i=0;it n.getld()temp=ti;ti=t n;t n=temp;void showData(i nt i)spData t,*p;P=&t;coutp-getld()vgetName()getCou nt()vgetBuy()vgetSale() vvsetw(8)vvp-getGys()ve ndl;void showData() int n;cout商品编号vvsetw(8)v商品名vvsetw(8)v库存量setw(10)已售量se
7、tw(10)进价setw(8)售价setw(8)供应商endl; for(i nt i=0;i 0) showData(i);cout商品种类:nendl;void save()ofstream fout;fout.open(” 商品清单.txt,ios:app);if(!fout)coutca nnot ope n the file!e ndl;return ;进价foutvv商品编号 商品名 库存量 售价 供应商 endl;for(i nt i=0;i n ;i+)foutvti.getld()vvsetw(14)vvti.getName()vvsetw(10)vvti.getCou nt
8、()setw(1 )ti.getBuy()vsetw(10)vvti.getSale()vvsetw(10)vvti.getGys()vve ndl;CoUt*Save SUCCess!*e ndl;fout.close();void xiugai()int count;char name100;float iprice;float oprice;char gys20;int temp;temp=search();if(temp=-1)coutca nnot find the shopp in g!e ndl;return;else cout请输入新数据: co unt;ttemp.setCo
9、 un t(co un t);cout进价:;cin iprice;ttemp.setBuy(iprice);cout售价:;cin oprice;ttemp.setSale(oprice);cout供应商:;cin gys;ttemp.setGys(gys);int search() int id;coutid:;ci n id;in t low=0,mid,high=n-1;while(lowid)high=mid-1;else low=mid+1;return -1;void remove() spData t1O;coutvv请输入要删除的商品编号 id;fstream file( 商
10、品清单.txt,ios:i n|ios:out|ios:b in ary);for(i nt u=0;u5;u+)file.read(char*)&tu,sizeof(tu);for(i nt v=0;v5;v+)if(tv.id=id)con ti nue;elsefile.write(char*)&tv,sizeof(tv);cout该商品被删除endl;file.close();;供应商数据类的设计class spDataprivate:char name100;int count;float iprice;float oprice;char gys20;public:int id;in
11、t getld()char *getName(char n a)int getCou nt()float getBuy()float getSale()char *getGys()void setld(i nt n)void setName(char n a)void setCo un t(i nt c)void setBuy(float i)void setSale(float o)void setGys(char g);供应商类的设计class gongyin gsha ngprivate:gysData t50;int n;public:void n ewFile() int id;ch
12、ar n ame50;int pho ne;if(n id;if(id=-1) break;tn .setid();cout供应商名称:;t n.set name( name);cout供应商电话:;tn .setph on e();coutvv若供应商添加完毕,请按-1退出添加!endl;void showData(i nt i)gysData t,*p;P=&t;coutgetid()get name()getpho ne()e ndl;void showData()coutsetw(8)vv供应商编号vvsetw(8)v供应商名称setw(8)供应商电话 e ndl;for(i nt i
13、=0;i n ;i+)showData(i);coutvv产品种类:vnvvendl;void save()ofstream fout;fout.open(供应商.txt,ios:app);if(!fout)coutca nnot ope n the file!e ndl;return ;foutvv供应商编号供应商姓名供应商手机号e ndl;for(i nt i=0;i n ;i+)foutvti.getid()vvsetw(10)vvti.get name()vsetw(14)vti.getpho ne()e ndl;CoUt*Save success!*vve ndl;fout.clos
14、e();int search() int id;cout id;in t low=0,mid,high=n-1; while(lowid)high=mid-1;else low=mid+1;return -1;void xiugai()char n ame100;int phone;int temp;temp=search();if(temp=-1)coutca nnot find the gys!e ndl; return;else cout请输入新数据: pho ne;ttemp.setph on e();void remove() gysData g10;coutvv请输入要删除的供应商
15、编号 id;fstream file(gys.txt,ios:i n|ios:out|ios:bi nary);for(i nt u=0;u5;u+)file.read(char*)&gu,sizeof(gu);for(i nt v=0;v5;v+)if(gv.id=id)con ti nue;elsefile.write(char*)&gv,sizeof(gv);cout该供应商被删除endl;file.close();;菜单函数的设计inline void menu 2()system(cls);coutvv *欢迎使用商品销售管理系统* endl;cout*商品选项 * endl;cou
16、t(1)添加coutvv(2)保存coutvv(3)删除coutvv查找coutvv(5)信息输出coutvv(6)修改e ndl;e ndl;e ndl;e ndl;e ndl;e ndl;cout(7)菜单e ndl;cout(0)退出系统e ndl;cout*2012 6*e ndl;in li ne void men u1()system(cls);cout*欢迎使用商品销售管理系统* endl;cout*主菜单 * e ndl*cout(1)商品选项e ndl;cout供应商选项e ndl;cout(0)退出系统e ndl;cout*2012 6*e ndl;in li ne voi
17、d menu 3()system(cls);coutvv *欢迎使用商品销售管理系统* vvendl;cout*供应商选项 * endl;coutvv(1)添加coutvv(2)保存coutvv(3)删除coutvv查找coutvv(5)信息输出coutvv(6)修改coutvv(7)菜单coutvv(0)退出系统*e ndl;e ndl;e ndl;e ndl;e ndl;e ndl;e ndl;e ndl;coutvv*2012.6 x;switch(x)case 1:menu 2();Commodity com;in t c;for(;)请选择:;coutcin c;switch(c)c
18、ase 1:co m.n ewFile();break;case 2:com.save();break;case 3:com.remove();break;case 4:com.search;break;case 5:com.showData();break;case 6:me nu1();break;case 0:e ndl;cout c;switch(c)case 1:gys .n ewFile();break;case 2:gys.save();break;case 3:gys.remove();break;case 4:gys.showData();break;case 5:gys.s
19、earch();break;e ndl;e ndl;case 6:me nu1();break;case 0:coutcoutbreak;*谢谢使用*I *case 0:cout*谢谢使用*e ndl;cout*再见!*e ndl;break;return 0;调试分析:程序 3.cpp(226): warning C4700: local variable n used without having beenin itialized程序 3.cpp(246) : warning C4700: local variable c1 used without having beenin itial
20、ized程序 3.cpp(348) : warning C4700: local variable g1 used without having beenin itialized桌面 q.cpp(237) : error C2562: search:void fun cti on returni ng a value桌面 q.cpp(228) : see declarati on ofsearch桌面 q.cpp(243) : error C2562: search:void fun cti on returni ng a value桌面 q.cpp(228) : see declarati
21、on ofsearch 用户使用说明手册:1.进入演示程序后,即显示对话形式的提示操作过程:如第一个选择1商品选项,即显示(1)添加 (2)保存 (3)删除 (4)查找 (5) 信息输出(6)修改(7)菜单(0)退出系统选择1,即显示商品编号、商品名、库存量、进价、售价、供应商各项商品信息,一次输入所添加的数据。添加完毕,按-1退出添加;选择2,即将商品信息保存;选择3,删除要删除的商品信息;选择4,查找商品信息;选择5,信息的输出;选择6,修改信息选择7,返回到菜单;选择0,退出系统。如第一个选择2,供应商选项,同样显示(1)添加 (2)保存 (3)删除 (4)查找 (5) 信息输出(6)修
22、改(7)菜单(0)退出系统选择数据的功能跟上面一样。第一个选择0退出系统(6)测试数据进入演示程序后,即显示对话形式的提示操作过程:选择:1商品选项选择:1添加商品选择:2保存信息选择:3删除信息选择:4查找信息选择:5信息输出选择:6修改选择:0退出系统选择:2供应商选项供应商信息的各选项跟商品信息的选项一样4 课程设计成果程序源代码#i nclude #in clude #i nclude#i ncludevioma nip.h #define Mfname 100 #in clude #i nclude#in clude#in clude class spDataprivate:char
23、 name100; int count;float iprice;float oprice;char gys20;public:int id;int getld()return id;char *getName()return n ame;int getCou nt()retur n count;float getBuy()return iprice;float getSale()retur n oprice;char *getGys()return gys;void setId(i nt n)id=n;void setName(char n a)strcpy( name, na);void
24、setCo un t(i nt c)coun t=c;void setBuy(float i)iprice=i;void setSale(float o)oprice=o;void setGys(char g)strcpy(gys,g);class gysDataprivate:char name100;int pho ne;public:int id;int getid()return id;char *get name()return n ame;int getph on e()retur n phone;void setid()ci n id;void set name(char n a
25、)strcpy (n ame ,n a);void setph on e()cin ph one;;class Commodityprivate:spData t50;int n;public:void n ewFile()int id;int n;char n ame50;int count;float iprice;float oprice;char gys20;if(n id;if(id=-1)break;tn .setld(id);cout商品名:;cinn ame;tn .setName( name);cout库存量:;cin co unt;tn .setCo un t(co un
26、t);cout进价:;cin iprice;tn .setBuy(iprice);cout售价:;cin oprice;tn .setSale(oprice);cout供应商:;cin gys;tn .setGys(gys);coutvv若商品添加完毕,请按-1退出添加!endl;for(i=0;it n.getld()temp=ti;ti=t n;tn =temp;void showData(i nt i)spData t,*p;P=&t;coutp-getld()vgetName()getCou nt()vgetBuy()vgetSale() vvsetw(8)vvp-getGys()ve
27、 ndl;void showData() int n;cout商品编号setw(8)商品名vvsetw(8)vv库存量vsetw(10)vv已售量setw(10)进价setw(8)售价setw(8)供应商endl;for(i nt i=0;i 0)showData(i);cout商品种类:nendl;void save()ofstream fout;fout.open(” 商品清单.txt,ios:app);if(!fout)coutca nnot ope n the file!e ndl;return ;foutvv商品编号 商品名 库存量 进价售价 供应商 endl;for(i nt i=0;i n ;i+)foutvti.getld()vvsetw(14)vvti.getName()vvsetw(10)vvti.getCou nt()setw(1 )ti.getBuy()vsetw(10)vvti.getSale()vvsetw(10)vvti.getGys()vve ndl;coutvv*Save Success!*e ndl;fout.close();void xiugai()int count;char name100;float iprice;float oprice;char gys20;int temp;te
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广西防城港市东兴市商务和口岸管理局、东兴海关招聘1人(第二批)笔试备考试题及答案解析
- 2026新疆前海集团有限责任公司招聘1人考试备考题库及答案解析
- 2026衢州龙游县粮食收储有限公司公开招聘派遣制工作人员2人笔试模拟试题及答案解析
- 2026新疆绿翔供销合作社联合社有限责任公司招聘5人笔试备考题库及答案解析
- 2026重庆大学城树人小学人才储备笔试备考题库及答案解析
- 2026年上半年曲靖师范学院招聘硕士及以上工作人员(12人)笔试参考题库及答案解析
- 2026广东深圳龙岗区龙岗街道锦龙幼儿园招聘1人考试备考题库及答案解析
- 2026年临沂沂水县部分事业单位公开招聘综合类岗位工作人员(32名)笔试备考题库及答案解析
- 环境污染问题强力整改承诺书7篇
- 2026江西南昌市青云谱实验学校招聘派遣制教师4人考试备考题库及答案解析
- 湖北省荆州市八县市2023-2024学年高二上学期期末考试物理试卷
- GB/T 15231-2023玻璃纤维增强水泥性能试验方法
- ESC2023年心脏起搏器和心脏再同步治疗指南解读
- 五年级上册道德与法治期末测试卷推荐
- 超额利润激励
- GB/T 2624.1-2006用安装在圆形截面管道中的差压装置测量满管流体流量第1部分:一般原理和要求
- 兰渝铁路指导性施工组织设计
- CJJ82-2019-园林绿化工程施工及验收规范
- 小学三年级阅读练习题《鸭儿饺子铺》原文及答案
- 六宫格数独100题
- 厨房设施设备检查表
评论
0/150
提交评论