版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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:charn ame100;intcou nt;
4、floatiprice;floatoprice;chargys20;public:intid;int getld()char *getName()int getCou nt()float getBuy()float getSale()char *getGys()void setId(i nt n)void setName(char n a)void setCou nt(i nt c)void setBuy(float i)void setSale(float o)void setGys(char g);商品类的设计class Commodityprivate:spData t50;int n;
5、public:void n ewFile()intid;int n;charn ame50;intcou nt;float iprice;float oprice;chargys20;if(n id;if(id=-1)break;tn .setld(id);cout商品名:;cinn ame;tn .setName (n ame);cout库存量:;cin cou nt;tn .setCou nt(cou nt);cout进价:;cin iprice;tn .setBuy(iprice);cout售价:;cin oprice;tn .setSale(oprice);cout供应商:;cin g
6、ys;tn .setGys(gys);cout若商品添加完毕,请按-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()getName()getCou nt()getBuy()getSale()vvsetw(8)vvp-getGys()ve ndl;void showData() int n;coutvv商品编号setw(8)商品名setw(8)库存量setw(10)已售量“setw(10)进价setw(8)售价setw(8)供应商e
7、ndl;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商品编号 vv 商品名vv 库存量vv 进价售价供应商vv vvendl;for(int i=0;ivn;i+)fout ti .getld()vsetw(14)vvti.getName()vvsetw(10)vvti.getCou nt()vsetw(10)v ti .getBuy(
8、)vsetw(10)vv ti .getSale()vsetw(10)vvti.getGys()vve ndl;coutvv*Save success!*vve ndl;fout.close();void xiugai()intcou nt;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;elsecout请输入新数据: cou nt;ttemp.setCou nt(cou nt);cou
9、t进价:;cin iprice;ttemp.setBuy(iprice);cout售价:;cin oprice;ttemp.setSale(oprice);cout供应商:;cin gys;ttemp.setGys(gys);int search() intid;cout id;int low=0,mid,high=n-1;while(lowid)high=mid-1;else low=mid+1;return -1;void remove() spData t10;e ndl;cout id;fstream file(商品清单.txt,ios:i n|ios:out|ios:b in ary
10、);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:charn ame100;intcou nt;floatiprice;floatoprice;chargys20;public:intid;int getld()char *getName(char n a) int get
11、Cou nt()float getBuy()float getSale()char *getGys()void setId(i nt n)void setName(char n a)void setCou nt(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() intid;char n ame50;int pho ne;if(n id;if(id=-1)br
12、eak;tn .setid();coutvv供应商名称:tn .set name( name);coutvv供应商电话:tn .setpho ne();coutvv若供应商添加完毕,请按-1退岀添加!endl;void showData(i nt i)gysData t,*p;P=&t;coutgetid()get name()setw(10)getph on e()e ndl;void showData()coutsetw(8)供应商编号setw(8)供应商名称setw(8)供应商电话e ndl;for(i nt i=0;i n ;i+)showData(i);coutvv产品种类:nvve
13、ndl;void save()ofstream fout;fout.open(” 供应商.txt,ios:app);if(!fout)coutca nnot ope n the file!e ndl;return ;e ndl;foutvv供应商编号供应商姓名供应商手机号for(int i=0;in;i+) foutvti.getid()vvsetw(10)vvti.get name()vsetw(14)vti.getph on e()e ndl;cOutvv*Save success!*vve ndl;fout.close();int search() intid;cout id;int l
14、ow=O,mid,high=n-1;while(lowid)high=mid-1;else low=mid+1;return -1;void xiugai()char name100;int pho ne;int temp;temp=search();if(temp=-1)coutca nnot find the gys!e ndl; return;elsecout请输入新数据: ph one;ttemp.setpho ne();void remove() gysData g10;coutvv请输入要删除的供应商编号 id;fstream file(gys.txt,ios:i n|ios:ou
15、t|ios:b in ary);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); coutvv该供应商被删除endl;file.close();菜单函数的设计inline void men u2()isystem(cls);cout*欢迎使用商品销售管理系统*vve ndl;cout*商品选*vve ndl;cout(1)添加vve ndl;cout(2)保存vve ndl;coutvv删
16、除vve ndl;coutvv(4)查找vve ndl;coutvv(5 )信息输岀vve ndl;coutvv(6)修改vve ndl;coutvv(7)菜单vve ndl;coutvv(0)退岀系统vve ndl;coutvvinline void men u1()system(cls);*2012 6*vve ndl;coutvv*欢迎使用商品销售管理糸统*vve ndl;coutvv*主菜 *vve ndl;coutvv(1)商品选项vve ndl;coutvv(2)供应商选项vve ndl;coutvv(0)退岀系统vve ndl;coutvvinline void men u3()
17、system(cls);*2012 6*vve ndl;coutvv*欢迎使用商品销售管理系统*vve ndl;coutvv*应商选* c;switch(c) case 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:cout*谢谢使用*COUt*!再:见!*e ndl; c;switch(c)case 1:gys .n ewFile(
18、);break;case 2:gys.save();break;case 3:gys.remove();break;case 4:gys.showData();break;case 5:gys.search();break;case 6:me nu1();break;case 0:cout*鶴扌谢使用 *e ndl;cout*!再见!*e ndl;break;case 0:cout*谢谢使用*e ndl;cout*!再:见!*e ndl; break; return 0;(4) 调试分析:程序 3.cpp(226): warning C4700: local variable n used w
19、ithout having been in itialized程序 3.cpp(246) : warning C4700: local variable c1 used without having been in itialized程序 3.cpp(348) : warning C4700: local variable g1 used without having beenin itializedvoid fun cti on returni ng a valuesearchvoid fun cti on returni ng a valuesearch (5)用户使用说明手册:1.进入演
20、示程序后,即显示对话形式的提示操作过程:如第一个选择1商品选项,即显示(1)添加(6)修改(7)菜单(0)退岀系统桌面 q.cpp(237) : error C2562: search:桌面 q.cpp(228) : see declarati on of桌面 q.cpp(243) : error C2562: search:桌面 q.cpp(228) : see declarati on of(2)保存(3)删除(4)查找(5 )信息输岀选择1,即显示商品编号、商品名、库存量、进价、售价、供应商各项商品信息,一次输入所添加的数据。添加完毕,按-1退岀添加;选择2,即将商品信息保存;选择3,删
21、除要删除的商品信息;选择4,查找商品信息;选择5,信息的输出;选择6,修改信息选择7,返回到菜单;选择0,退出系统。如第一个选择2,供应商选项,同样显示 (1)添加 (2)保存(3)删除 (4)查找(5)信息输岀(6)修改(7)菜单(0)退岀系统选择数据的功能跟上面一样。第一个选择0退出系统。(6)测试数据进入演示程序后,即显示对话形式的提示操作过程:选择:1商品选项选择:1添加商品选择:2保存信息选择:3删除信息选择:4查找信息选择:5信息输出选择:6修改选择:0退出系统选择:2供应商选项供应商信息的各选项跟商品信息的选项一样4.课程设计成果程序源代码#i nclude#in clude#i
22、n clude#i ncludevioma nip.h #defi ne Mfname 100 #in clude #i nclude#in clude#in clude class spDataprivate:charn ame100;intcou nt;floatiprice;floatoprice;chargys20;public:intid;int getld()return id;char *getName()return n ame;int getCou nt()retur n cou nt;float getBuy()retur n iprice;float getSale()r
23、etur n oprice;char *getGys()return gys;void setId(i nt n)id=n;void setName(char n a)strcpy( name, na);void setCou nt(i nt c)cou nt=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 phone;public:int id;int getid()return
24、 id;char *get name()return n ame;int getph on e()retur n pho ne;void setid()ci n id;void set name(char n a)strcpy (n ame ,n a);void setph on e()cin pho ne;class Commodityprivate:spData t50;int n;public:void n ewFile()int id;int n;char n ame50;int cou nt;float iprice;float oprice;char gys20;if(n id;i
25、f(id=-1)break;tn .setld(id);cout商品名:;cinn ame;tn .setName (n ame);cout库存量:;cin cou nt;tn .setCou nt(cou nt);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;t n=temp;void show
26、Data(i nt i)spData t,*p;P=&t;coutp-getld()getName()getCou nt()getBuy()getSale() vvsetw(8)vvp-getGys()ve ndl;void showData() int n;coutvv商品编号setw(8)商品名setw(8)库存量 setw(10)已售量“ 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,io
27、s:app);if(!fout)coutcannot open the file!endl;return ;foutvv商品编号 vv 商品名vv 库存量vv 进价售价 cou nt;ttemp.setCou nt(cou nt);coutvv进价:;cin iprice;ttemp.setBuy(iprice);coutvv售价:;cin oprice;ttemp.setSale(oprice);COUt供应商:;cin gys;ttemp.setGys(gys);int search() intid;cout id;int low=0,mid,high=n-1;while(lowid)hi
28、gh=mid-1;else low=mid+1;return -1;void remove() spData t10;cout请输入要删除的商品编号 id;fstream file(商品清单.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 gongyin
29、gsha ngprivate:gysData t50;int n;public:void n ewFile() intid;char n ame50;int pho ne;if(n id;if(id=-1)break;tn .setid();Cout供应商名称:;tn .set name( name);cout供应商电话:;tn .setpho ne();coutvv若供应商添加完毕,请按-1退岀添加!endl;void showData(i nt i)gysData t,*p;P=&t;coutgetid()vget name()vgetph on e()e ndl;void showDat
30、a()coutsetw(8)vv供应商编号setw(8)vv供应商名称setw(8)供应商电话e ndl;for(i nt i=0;i n ;i+)showData(i);coutvv产品种类:nvvendl;void save()ofstream fout;fout.open(” 供应商.txt,ios:app);if(!fout)coutca nnot ope n the file!e ndl;return ;e ndl;foutvv供应商编号供应商姓名供应商手机号for(i nt i=0;i n ;i+)foutvti.getid()vvsetw(10)vvti.get name()vs
31、etw(14)vti.getph on e()e ndl;coutvv*Save success!*vve ndl;fout.close();int search() intid;cout id;int low=0,mid,high=n-1;while(lowid)high=mid-1;else low=mid+1;return -1; void xiugai()char name100;int pho ne;int temp;temp=search();if(temp=-1)coutca nnot find the gys!e ndl; return;elsecout请输入新数据: ph o
32、ne;ttemp.setpho ne();void remove。 gysData g10;coutvv请输入要删除的供应商编号vvendl;int id;ci n id;fstream file(gys.txt,ios:i n|ios:out|ios:b in ary);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();;in l
33、i ne void men u2()system(cls);cout*欢迎使用商品销售管理系统*vve ndl;cout*商品选*e ndl;cout(1)添加e ndl;cout(2)保存e ndl;coutvv删除e ndl;coutvv(4)查找e ndl;coutvv(5 )信息输岀e ndl;coutvv(6)修改e ndl;coutvv(7)菜单e ndl;coutvv(0)退岀系统e ndl;coutvv*2012 6* x;switCh(x) Case 1:*(4) 查找(5) 信息输岀(6) 修改(7) 菜单(0)退岀系统*2012.6*e ndl;e ndl;e ndl;e ndl;e ndl; c;switch(c)case 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:com.xiugai();break;case 7:me nu1();break;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 免疫性疾病的饮食辅助
- 辽宁省2025秋九年级英语全册Unit5Whataretheshirtsmadeof课时6SectionB(3a-SelfCheck)课件新版人教新目标版
- 2025年湿电子化学品项目发展计划
- 干性皮肤的清洁与保养方法
- 腹泻的药物治疗与护理配合
- 术前焦虑的识别与干预策略
- 护理实践中的问题解决与决策制定
- 心脏瓣膜疾病的护理与跨学科合作
- 子宫肉瘤患者的日常护理
- 体位引流护理的社区推广应用
- 物流金融风险管理
- 国开24273丨中医药学概论(统设课)试题及答案
- 国家开放大学电大《当代中国政治制度(本)》形考任务4试题附答案
- 河道临时围堰施工方案
- 2025年广东省公需课《人工智能赋能制造业高质量发展》试题及答案
- 有机肥可行性研究报告
- 2025年-基于华为IPD与质量管理体系融合的研发质量管理方案-新版
- 法律职业资格考试客观题(试卷一)试卷与参考答案(2025年)
- 腹壁下动穿支课件
- 广西协美化学品有限公司年产7400吨高纯有机过氧化物项目环评报告
- 智慧树知道网课《艾滋病、性与健康》课后章节测试答案
评论
0/150
提交评论