版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+暇程设计-商品管理系统淮海工学院计算机工程学院课程设计报告设计名称:C+程序设计课程设计姓 名:学 号:专业班级:系 (院):设计时间:设计地点:指导教师评语:成绩:签名:C+®序设计课程设计报告第5 页,共50 页1、课程设计目的C+程序设计课程设计是计算机科学与技术专业重 要的实践性教学环节之一,本次设计结合实际应用的要 求,使课程设计既覆盖C+的知识点,又接近工程实际需 要。目的是通过课程设计的综合训练,培养学生实际分析 问题、解决问题的能力,以及编程和动手能力,最终目标 是通过课程设计这种形式,帮助学生系统掌握C+程序设 计这门课程的主要内容,养成良好的编程习惯,更好的完
2、 成教学任务。2、课程设计任务与要求:本次课程设计利用C+程序设计课程中所学到的 编程知识和编程技巧,完成具有一定难度和工作量的程序 设计题目,帮助学生掌握编程、调试的基本技能,独立完 成所布置的任务。要求:1、对系统进行功能需求分析2、设计合理的数据结构和系统框架3、编程简练,程序功能齐全,能正确运行4、说明书、流程图要清楚5、课题完成后必须按要求提交课程设计报告任务:设计一个商品销售管理系统。运用C+语言描述商品类、供应商类。要求设计中综 合运用C+基础知识,利用指针对商品、供应商链表进行 处理,方便快捷的进行增删改,充分利用友元来处理两个 类之间的关系,理解面向对象程序设计的核心的概念。
3、实现功能:(1)建立商品类、供应商类(2)商品、供应商信息的初始化(3)商品信息的添加、修改、删除、 查找(4)供应商信息的添加、修改、删除、查找(5)商品信息、供应商信息的输出c+附序设计课程设计报告第9 页,共50 页出。备注:将商品、供应商保存为文件,能够写入与读概要设计11)需求分析:要实现对商品,供应商信息的添加、修改、删除、查找, 并输出信息,能够方便快捷,并有用户能详细清楚的操作 指南。(2)模块说明:本次程序设计中,需要设计 10个模块, 分别是添加、修改、删除、查找、输出商品信息和供应商 信息,一共4个类:分别是商品类、商品数据类、供应商 类、供应商数据类。通过几个switc
4、h语句实现用户选择功 能。主要函数流程图:商品销售管理系统商 的我|信 息信 息 输 JI!i -冏HII 的找同1|勺誉女.hH rtu / Pswitch ?开始| 打力文竹|端人忘CTI写,文件I一文H(3)详细设计 商品数据类的设计class spDataprivate:char name100;C+®序设计课程设计报告第8 页,共50 页int count;float iprice;float oprice;char gys20;public:int id;int getId()char *getName()int getCount()float getBuy()float
5、 getSale()char *getGys()void setId(int n)void setName(char na口)void setCount(int c)void setBuy(float i)void setSale(float o)void setGys(char g口);商品类的设计class Commodityprivate:C+®序设计课程设计报告第9 页,共50 页spData t50;int n;public:void newFile()int id;int n;char name50;int count;float iprice;float oprice;
6、char gys20;if(n<0)n=0;int i;spData temp;for(;n+)cout<<"商品编号:"cin>>id;if(id=-1)break;C+®序设计课程设计报告第10 页,共50 页tn.setId(id);cout<<"商品名:"cin>>name;tn.setName(name);cout<<"库存量:";cin>>count;tn.setCount(count);cout<<"进价:&qu
7、ot;;cin>>iprice;tn.setBuy(iprice);cout<<"售价:";cin>>oprice;tn.setSale(oprice);cout<<"供应商:";cin>>gys;tn.setGys(gys);cout<<"若商品添加完毕)请按 -1退出添加!"<<endl;C+附序设计课程设计报告第11 页,共50 页for(i=0;i<n;i+)(if(ti.getld()>tn.getld()(temp=ti;ti=
8、tn;tn=temp;void showData(int i)(spData t,*p;p=&t;cout<<p->getId()<<setw(10)<<p->getName()<<setw(10)<<p->getCount()<<setw(8)<<p->getBuy()<<setw(8)<<p->getSale()<<setw(8)<<p->getGys()<<endl;void showData()c+附
9、序设计课程设计报告第# 页,共50 页 int n;cout<<"商品编号"<<setw(8)<<"商品名"<<setw(8)<<"库存量"<<setw(10)<<"已售量"<<setw(10)<<"进价"<<setw(8)<<"售价"<<setw(8)<<"供应商"<<endl;for(i
10、nt i=0;i<n;i+)if(ti.getCount()>0 ) showData(i);cout<<"商品种类:"<<n<<endl;)void save()ofstream fout;fout.open(" 商品清单.txt",ios:app);if(!fout)cout<<"cannot open the file!"<<endl; return ;)fout<<"商品编号"<<""<
11、<"商品名"<<"C+附序设计课程设计报告第13 页,共50 页"<<"库存量"<<""<<"进价"<<""<<"售价"<<""<<"供应商"<<" "<<endl;for(int i=0;i<n;i+)(fout<<ti.getId()<<s
12、etw(14)<<ti.getName()<<setw(10)<<ti.getCount()<<setw(10)<<ti.getBuy()<<setw(10)<<ti.getSale()<<setw(10)<<ti.getGys()<<endl;cout<<"*SaveSuccess!*"<<endl;fout.close();void xiugai()(int count;char name100;float iprice;flo
13、at oprice;char gys20;int temp;temp=search();if(temp=-1)C+®序设计课程设计报告第14 页,共50 页cout<<"cannot find the shopping!"<<endl; return;else cout<<”请输入新数据:"<<endl;cout<<"商品名:"cin>>name;ttemp.setName(name);cout<<"库存量:";cin>>
14、;count;ttemp.setCount(count);cout<<"进价:";cin>>iprice;ttemp.setBuy(iprice);cout<<"售价:";cin>>oprice;ttemp.setSale(oprice);cout<<"供应商:";cin>>gys;共50 页C+®序设计课程设计报告第15 页,ttemp.setGys(gys); int search() int id;cout<<"id:&quo
15、t;cin>>id;int low=0,mid,high=n-1; while(low<=high) mid=(low+high)/2; if(tmid.getId()=id) return mid;else if(tmid.getId()>id) high=mid-1;else low=mid+1; return -1;void remove()"<<endl; spData t10;cout<<"请输入要删除的商品编号C+®序设计课程设计报告第16 页,共50 页int id;cin>>id;fstr
16、eamfile(" 商 品 清单.txt",ios:in|ios:out|ios:binary);for(int u=0;u<5;u+)file.read(char*)&tu,sizeof(tu);for(int v=0;v<5;v+)if(tv.id=id) continue;elsefile.write(char*)&tv,sizeof(tv);cout<<"该商品被删除"<<endl; file.close(); ;供应商数据类的设计class spData private:C+®序设计
17、课程设计报告第17 页,共50 页char name100;int count;float iprice;float oprice;char gys20;public:int id;int getId()char *getName(char na口)int getCount()float getBuy()float getSale()char *getGys()void setId(int n)void setName(char na口)void setCount(int c)void setBuy(float i)void setSale(float o)void setGys(char g
18、口);供应商类的设计class gongyingshangC+附序设计课程设计报第19 页,共50 页private:gysData t50;int n;public:void newFile() int id;char name50;int phone;if(n<0)n=0;for(;n+)cout<<"供应商编号:"cin>>id;if(id=-1)break;tn.setid();cout<<"供应商名称:"tn.setname(name);cout<<"供应商电话:"tn.
19、setphone();cout<<"若供应商添加完毕)请按-1退出添加!"<<endl;void showData(int i) gysData t,*p;p=&t;cout<<setw(8)<<p->getid()<<setw(10)<<p->getname()<<setw(10)<<p->getphone() <<endl;void showData() cout<<setw(8)<<"供应商编号 <
20、;<setw(8)<<"供应商名称" <<setw(8)<<"供应商电话" <<endl;for(int i=0;i<n;i+)C+®序设计课程设计报告第23 页,共50 页C+附序设计课程设计报告第20 页,共50 页showData(i);cout<<"产品种类:"<<n<<endl;)void save()ofstream fout;fout.open(" 供应商.txt",ios:app);if(!fo
21、ut) cout<<"cannot open the file!"<<endl;return ;)fout<<"供应商编号"<<""<<"供应商姓名"<<"<<"供应商手机号"<<" "<<endl;for(int i=0;i<n;i+)fout<<ti.getid()<<setw(10)<<ti.getname()&
22、lt;<setw(14)<<ti.getphone()<<endl;)cout<<"*SaveSuccess!*"<<endl;fout.close();int search() int id;cout<<"id:"cin>>id;int low=0,mid,high=n-1;while(low<=high)mid=(low+high)/2;if(tmid.getid()=id)return mid;else if(tmid.getid()>id)high=mid-
23、1;else low=mid+1;return -1;void xiugai()char name100;int phone;int temp;C+®序设计课程设计报告第22 页,共50 页temp=search();if(temp=-1)cout<<"cannot find the gys!"<<endl;return;else cout<<”请输入新数据:"<<endl;cout<<”供应商名:"cin>>name;ttemp.setname(name);cout<
24、;<"供应商手机号:”;cin>>phone;ttemp.setphone();void remove() gysData g10;cout<<"请输入要删除的供应商编号"<<endl;int id;cin>>id;fstream file("gys.txt",ios:in|ios:out|ios:binary);for(int u=0;u<5;u+)C+附序设计课程设计报告第25 页,共50 页file.read(char*)&gu,sizeof(gu);for(int v=
25、0;v<5;v+)if(gv.id=id)continue;elsefile.write(char*)&gv,sizeof(gv);cout<<"该供应商被删除"<<endl;file.close();菜单函数的设计inline void menu2()system("cls");cout<<"*欢迎使用商品销售管理系统*"<<endl;cout<<"* 商 品选项 *"<<endl;cout<<"(1)添加
26、"<<endl;cout<<"(2)保存"<<endl;cout<<"(3)删除"<<endl;cout<<"(4)查找"<<endl;cout<<"(5)信息输出"<<endl;cout<<"(6)修改"<<endl;cout<<"(7)菜单"<<endl;cout<<"(0)退出系统&q
27、uot;<<endl;cout<<*2012.6*"<<endl;inline void menu1()system("cls");cout<<"*欢迎使用商品销售管理系统* "<<endl;cout<<*台菜单 *C+®序设计课程设计报告第25 页,共50 页"<<endl;cout<<"(1)商品选项"<<endl;cout<<"(2)供应商选项 "<<
28、;endl;(0)退出系统cout<< "<<endl;cout<<*2012.6*cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;cout<<"<<endl;inline void menu3() system("cls");*欢迎使用商品销售管理系
29、统*供应商选项 *(1)添加(2)保存(3)删除"<<endl;cout<<"(4)查找"<<endl;cout<<"(5)信息输出"<<endl;cout<<"(6)修改"<<endl;cout<<"(7)菜单"<<endl;cout<<"(0)退出系统"<<endl;cout<<*2012.6*"<<endl;主函数的
30、设计:int main()menu1();int x;cout<<"请选择:"cin>>x;switch(x)C+附序设计课程设计报告第33 页,共50 页case 1:menu2();Commodity com;int c;for(;)cout<<"请选择:"cin>>c;switch(c)case 1:com.newFile();break;case 2:com.save();break;case 3:com.remove();break;case 4:com.search;break;case 5:c
31、om.showData();break;case 6:menu1();break;case 0:cout<<" * 谢 谢使用*cout<<"<<endl;*!见!*"<<endl;break;case 2:menu3();gongyingshang gys;int c;for(;)cout<<"请选择:"cin>>c;switch(c)case 1:gys.newFile();break;case 2:gys.save();break;case 3:gys.remove(
32、);break;case 4:gys.showData();break;case 5:gys.search();break;case 6:menu1();break;case 0:cout<<"* 谢谢使用*cout<<"*I见!*"<<endl;break;case 0:cout<<"*谢谢使用*"<<endl;"<<endl;cout<<"*! 再 见!*"<<endl;break;return 0;(4)调试分析:
33、C+®序设计课程设计报告第30 页,共50 页程序3.cpp(226) : warning C4700: local variable 'n' used without having been initialized程序 3.cpp(246) : warning C4700: local variable 'c1' used without having been initialized程序 3.cpp(348) : warning C4700: local variable 'g1' used without having been
34、initialized桌面 q.cpp(237) : error C2562: 'search':'void' function returning a value桌面 q.cpp(228) : see declaration of 'search'桌面 q.cpp(243) : error C2562: 'search':'void' function returning a value桌面 q.cpp(228) : see declaration of 'search '(5)用户使用说明手册:
35、1.进入演示程序后,即显示对话形式的提示操作过程:如第一个选择1商品选项,即显示 (1)添加 (2)保存 (3)删除 (4)查找 (5)信息输出(6)修改 (7)菜单 (0)退出系统选择1,即显示商品编号、商品名、库存量、进价、售价、供应商各项商品信息,一次输入所添加的数据。添加完毕,按-1退出添加;选择2,即将商品信息保存;选择3,删除要删除的商品信息;选择4,查找商品信息;选择5,信息的输出;选择6,修改信息选择7,返回到菜单;选择0,退出系统。C+呈序设计课程设计报告第31 页,共50 页如第一个选择2,供应商选项,同样显示(1)添加 (2)保存(3)删除(4)查找(5)信息输出(6)修
36、改(7)菜单(0)退出系统选择数据的功能跟上面一样。第一个选择0退出系统。(6)测试数据进入演示程序后,即显示对话形式的提示操作过程:选择:1 商品选项选择:1添加商品C+附序设计课程设计报告第37 页,共50 页统一一系一一J" (i 1- I-1 1-110 ;p 1斗= &= 11051 量:1毕11完工3'口 一y力:.崔号:1商品编品口 品商商W!售法言商选择:2保存信息请选择经 *K4»W4tMMGaiue Success1!请连择J选择:3删除信息备幽除&悌诳要IKi人品品口智智QU输商商商商商请B1该该该言选择:4查找信息 选择:5信
37、息输出 选择:6修改请选择一id: 01 cannot find tlie shopping?请选择,选择:0退出系统一一 请选择网.KKXKKKKMKKX谢谢更用*选择:2供应商选项供应商信息的各选项跟商品信息的选项一样C+®序设计课程设计报告第# 页,共50 页4.课程设计成果程序源代码 si#include<iostream.h>#include<fstream.h>#include<string.h>#include<iomanip.h>#define Mfname 100#include<conio.h>#incl
38、ude<stdio.h>#include<process.h>#include<dos.h>class spDataprivate:char name100;int count;float iprice;float oprice;char gys20;public:int id;int getId()return id;char *getName()return name;int getCount()return count;float getBuy()-4C+®序设计课程设计报告第35 页,共50 页return iprice;float get
39、Sale()return oprice;char *getGys()return gys;void setId(int n)id=n;void setName(char na口)strcpy(name,na);void setCount(int c) count=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(
40、)return id;char *getname()return name;int getphone()return phone;void setid()cin>>id;void setname(char na口) strcpy(name,na);void setphone()cin>>phone; ;class Commodityprivate:spData t50;int n;public: C+®序设计课程设计报告第37 页,共50 页void newFile()int id;int n;char name50;int count;float ipric
41、e;float oprice;char gys20;if(n<0)n=0;int i;spData temp;for(;n+)cout<<"商品编号:"cin>>id;if(id=-1) break;tn.setId(id);cout<<"商品名:"cin>>name;tn.setName(name);cout<<"库存量:";cin>>count;tn.setCount(count);cout<<"进价:";cin>&
42、gt;iprice;tn.setBuy(iprice);cout<<"售价:";cin>>oprice;tn.setSale(oprice);C+附序设计课程设计报告第43 页,共50 页couk<父供应商tcin>>gys;tn.setGys(gys);cout<<"若商品添加完毕,请按 -1退出添 加!"<<endl;for(i=0;i<n;i+)if(ti.getId()>tn.getId()temp=ti;ti=tn;tn=temp;void showData(int
43、i)spData t,*p;p=&t;cout<<p->getId()<<setw(10)<<p->getName()<<setw(10)<<p->getCount()<<setw(8)<<p->getBuy()<<setw(8)<<p->getSale()<<setw(8)<<p->getGys()<<endl;void showData() int n;cout<<"商品编号&quo
44、t;<<setw(8)<<"商品名"<<setw(8)<<"库存量"<<setw(l0)<<"已售量"<<setw(l0)<<"进价"<<setw(8)<<"售价"<<setw(8)<<"供应商"<<endl;for(int i=0;i<n;i+)if(ti.getCount()>0 )showData(i);
45、cout<<"商品种类:"<<n<<endl;void save()ofstream fout;fout.open(" 商品清单.txt",ios:app);if(!fout) cout<<"cannot open the file!"<<endl;return ;fout<<"商品编号"<<""<<"商品名"<<""<<"库存
46、量"<<""<<"进价"<<""<<"售价"<<""<<"供应商"<<" "<<endl;for(int i=0;i<n;i+)fout<<ti.getId()<<setw(14)<<ti.getName()<<setw(10)<<ti.getCount()<<setw(10
47、)<<ti.getBuy()<<setw(10)<<ti.getSale()<<setw(10)<<ti.getGys()<<endl;cout<<"*SaveSuccess!*"<<endl;fout.close();void xiugai()int char float float charcount; name100;iprice; oprice; gys20;int temp;temp=search();if(temp=-1)cout<<"canno
48、t find the shopping!"<<endl;C+®序设计课程设计报告第40 页,共50 页return;lse cout<<"请输入新数据:"<<endl;cout<<"商品名:"cin>>name;ttemp.setName(name);cout<<"库存量:"; cin>>count;ttemp.setCount(count);cout<<"进价:"; cin>>ipric
49、e;ttemp.setBuy(iprice);cout<<"售价:"; cin>>oprice;ttemp.setSale(oprice);cout<<"供应商:"; cin>>gys;ttemp.setGys(gys);int search() int id;cout<<"id:"cin>>id;int low=0,mid,high=n-1;while(low<=high)mid=(low+high)/2;if(tmid.getId()=id) retur
50、n mid;else if(tmid.getId()>id) high=mid-1;else low=mid+1;C+附序设计课程设计报告第55 页,共50 页return -1;void remove() spData t10;cout<<"畲输入要删除的商品编号"<<endl;int id;cin>>id;、 fstreamfile("单.txt",ios:in|ios:out|ios:binary);for(int u=0;u<5;u+)file.read(char*)&tu,sizeof(t
51、u);for(int v=0;v<5;v+)if(tv.id=id)continue;elsefile.write(char*)&tv,sizeof(tv); cout<<”该间品被刷除"<<endl;file.close();;class gongyingshangprivate:gysData t50;int n;public:void newFile() int id;char name50;int phone;if(n<0)n=0;for(;n+)_ cout<<"供应商编号:"cin>>
52、id;if(id=-1)break;tn.setid();cout<<"供应商名称:"tn.setname(name);cout<<"供应商电话:"tn.setphone();cout<<"若供应商添加完毕)请按-1退出添 加!"<<endl;void showData(int i)gysData t,*p;p=&t;cout<<setw(8)<<p->getid()<<setw(10)<<p->getname()<
53、;<setw(10)<<p->getphone()<<endl;void showData()cout<<setw(8)<<"供应商编号"<<setw(8)<<"供应商名称"<<setw(8)<<"供应阎电击"<<endl;for(int i=0;i<n;i+)showData(i);cout<<"产品种类:"<<n<<endl;void save()of
54、stream fout; 一fout.open(" 供应商.txt",ios:app);if(!fout) cout<<"cannot open the file!"<<endl;return ;fout<<"供应商编号"<<""<<"供应商姓名"<<""<<"供应商手机号"<<" "<<endl;for(int i=0;i<
55、;n;i+)fout<<ti.getid()<<setw(10)<<ti.getname()<<setw(14)<<ti.getphone0<<endl;cout<<"*SaveSuccess!*"<<endl;fout.close();int search() int id;cout<<"id:"cin>>id;int low=0,mid,high=n-1;while(low<=high)mid=(low+high)/2;if(
56、tmid.getid()=id)return mid;else if(tmid.getid()>id)high=mid-1;else low=mid+1;return -1;void xiugai()char name100; int phone;int temp;temp=search();if(temp=-1)cout<v"cannot find the gys!"<<endl;return;elsecoutvv)青输入新数据:"<<endl;coutvv"供应商名:"cin>>name;tt
57、emp.setname(name);coutvv"供应商手机号:”;cin>>phone;ttemp.setphone();void remove() gysData g10;coutvv"请输入要删除的供应商编号"vvendl;int id;cin>>id;fstream file("gys.txt",ios:in|ios:out|ios:binary);for(int u=0;uv5;u+)file.read(char*)&gu,sizeof(gu);for(int v=0;vv5;v+)if(gv.id=i
58、d)continue;elsefile.write(char*)&gv,sizeof(gv);coutvv"该供应商被删除"vvendl; file.close();;inline void menu2() system("cls"); cout<<"'<<endl;cout<<"'<<endl;cout<<"'<<endl;cout<<"'<<endl;cout<<&
59、quot;'<<endl;cout<<"'<<endl;*欢迎使用商品销售管理系统* 商品选项 *cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;inline void menu1()system("cls
60、");cout<<"* "<<endl;cout<<""<<endl;cout<<"信息输出(6)修改(7)菜单(0)退出系统*2012.6*欢迎使用商品销售管理系统*台菜单 *商品选项"<<endl;cout<<"(2)供应商选项"<<endl;cout<<"(0)退出系统"<<endl;cout<<*2012.6*"<<endl;inline void menu3()system("cls");cout<<" *欢迎使用商品销售管理系统 *"<<endl;cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;cout<<""<<endl;cout<<""<&l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《新生儿气胸》课件
- 2025年分销商分润协议范例
- 2025年分销合同的法律适用
- 2025版幼儿托管班信息化管理及数据共享协议3篇
- 二零二五年度林地征用补偿协议6篇
- 2025年度个人创业项目投资融资协议4篇
- 临时雇佣劳务合作合同(2024年版)版B版
- 2025年信息技术服务承诺合同范本2篇
- 二零二五年度简易版起重机租赁及设备租赁合同解除协议
- 二零二五年度2025年食堂厨师食品安全知识与聘用协议
- 2024年国家工作人员学法用法考试题库及参考答案
- 国家公务员考试(面试)试题及解答参考(2024年)
- 《阻燃材料与技术》课件 第6讲 阻燃纤维及织物
- 人教版五年级上册递等式计算100道及答案
- 2024年新课标全国Ⅰ卷语文高考真题试卷(含答案)
- 湖南省退休人员节日慰问政策
- 中国的世界遗产知到章节答案智慧树2023年辽宁科技大学
- 道路通行能力手册第4章-高速公路基本路段
- 传感器与测试技术试卷及答案
- 2020年普通高等学校招生全国统一数学考试大纲
- GB/T 679-2002化学试剂乙醇(95%)
评论
0/150
提交评论