C++课程设计-商品管理系统_第1页
C++课程设计-商品管理系统_第2页
C++课程设计-商品管理系统_第3页
C++课程设计-商品管理系统_第4页
C++课程设计-商品管理系统_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+课程设计 - 商品管理系统.淮 海 工 学 院 计 算 机 工 程 学 院课程设计报告设计名称:C+ 程序设计课程设计姓名:学号:专业班级:系 (院):设计时间:设计地点:指导教师评语:成绩:签名:年月日C+程序设计课程设计报告第 3页,共50页1、课程设计目的C+ 程序设计课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C+ 的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式, 帮助学生系统掌握C+ 程序设计这门课程的主要内容,养成良好的编

2、程习惯,更好的完成教学任务。2、课程设计任务与要求:C+程序设计课程设计报告第 4页,共50页本次课程设计利用 C+ 程序设计课程中所学到的编程知识和编程技巧, 完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。要求:1、对系统进行功能需求分析2、设计合理的数据结构和系统框架3、编程简练,程序功能齐全,能正确运行4、说明书、流程图要清楚5、课题完成后必须按要求提交课程设计报告任务:设计一个商品销售管理系统。运用 C+ 语言描述商品类、 供应商类。要求设计中综合运用 C+ 基础知识,利用指针对商品、 供应商链表进行处理,方便快捷的进行增删改,充分利用

3、友元来处理两个类之间的关系,理解面向对象程序设计的核心的概念。实现功能:( 1)建立商品类、供应商类( 2)商品、供应商信息的初始化( 3)商品信息的添加、修改、删除、 查找( 4)供应商信息的添加、修改、删除、查找( 5)商品信息、供应商信息的输出C+程序设计课程设计报告第 5页,共50页备注:将商品、供应商保存为文件,能够写入与读出。C+程序设计课程设计报告第 6页,共50页概要设计( 1) 需求分析:要实现对商品,供应商信息的添加、修改、删除、查找,并输出信息,能够方便快捷,并有用户能详细清楚的操作指南。( 2)模块说明:本次程序设计中,需要设计 10 个模块,分别是添加、修改、删除、查

4、找、输出商品信息和供应商信息,一共 4 个类:分别是商品类、商品数据类、供应商类、供应商数据类。 通过几个 switch 语句实现用户选择功能。主要函数流程图:C+程序设计课程设计报告第 7页,共50页( 3)详细设计商品数据类的设计class spDataprivate:charname100;C+程序设计课程设计报告第 8页,共50页intcount;floatiprice;floatoprice;chargys20;public:intid;int getId()char *getName()int getCount()float getBuy()float getSale()char

5、*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()intid;int n;charname50;intcount;float iprice;float oprice;chargys20;if(n0)n=0;int i;

6、spData temp;for(;n+)coutid;if(id=-1)break;C+程序设计课程设计报告第 10页,共50页tn.setId(id);coutname;tn.setName(name);coutcount;tn.setCount(count);coutiprice;tn.setBuy(iprice);coutoprice;tn.setSale(oprice);coutgys;tn.setGys(gys);cout 若商品添加完毕,请按-1 退出添加 !endl;C+程序设计课程设计报告第 11页,共50页for(i=0;itn.getId()temp=ti;ti=tn;tn

7、=temp;void showData(int i)spData t,*p;p=&t;coutgetId()setw(10)getName()setw(10)getCount()setw(8)getBuy()setw(8)getSale() setw(8)getGys()endl;void showData()C+程序设计课程设计报告第12页,共50页int n;cout 商品编号 setw(8) 商品名 setw(8) 库存量 setw(10) 已售量setw(10) 进价 setw(8)setw(8)售价 供应商endl;for(int i=0;i0 )showData(i);cout商品

8、种类:nendl;void save()ofstream fout;fout.open( 商品清单if(!fout).txt,ios:app);coutcannot open the file!endl; return ;fout商 品 编 号商 品 名C+程序设计课程设计报告第13页,共50页库存量 进价供应商 endl;售价for(int i=0;in;i+)foutti.getId()setw(14)ti.getName()setw(10)ti.getCount()setw(10)ti.getBuy()setw(10)ti.getSale()setw(10)ti.getGys()endl

9、;cout*SaveSuccess!*endl;fout.close();void xiugai()intcount;charname100;floatiprice;floatoprice;chargys20;int temp;temp=search();if(temp=-1)C+程序设计课程设计报告第 14页,共50页coutcannot find the shopping!endl; return;elsecout 请输入新数据 :endl;coutname;ttemp.setName(name);coutcount;ttemp.setCount(count);coutiprice;tte

10、mp.setBuy(iprice);coutoprice;ttemp.setSale(oprice);coutgys;C+程序设计课程设计报告第 15页,共50页ttemp.setGys(gys);int search() int id; coutid;int low=0,mid,high=n-1; while(lowid) high=mid-1;else low=mid+1;return -1;void remove() spData t10;cout 请输入要删除的商品编号id;fstreamfile(商品清单 .txt,ios:in|ios:out|ios:binary); for(in

11、t u=0;u5;u+) file.read(char*)&tu,sizeof(tu); for(int v=0;v5;v+)if(tv.id=id)continue; elsefile.write(char*)&tv,sizeof(tv); cout 该商品被删除 endl;file.close();供应商数据类的设计class spDataprivate:C+程序设计课程设计报告第 17页,共50页charname100;intcount;floatiprice;floatoprice;chargys20;public:intid;int getId()char *getName(char

12、 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);供应商类的设计class gongyingshangC+程序设计课程设计报告第 18页,共50页private:gysData t50;intn;public:void newFile() int id;charname50;int pho

13、ne;if(n0)n=0;for(;n+)coutid;if(id=-1)break;tn.setid();cout 供应商名称 :;tn.setname(name);cout 供应商电话 :;C+程序设计课程设计报告第 19页,共50页tn.setphone( );cout 若供应商添加完毕,请按-1 退出添加 !endl;void showData(int i)gysData t,*p;p=&t;coutsetw(8)getid()setw(10)getname()setw(10)getphone()endl;void showData()coutsetw(8) 供应商编号 setw(8)

14、 供应商名称 setw(8) 供应商电话 endl;for(int i=0;in;i+)C+程序设计课程设计报告第 20页,共50页showData(i);cout 产品种类 :nendl;void save()ofstream fout;fout.open( 供应商 .txt,ios:app);if(!fout)coutcannot open the file!endl; return ;fout供应商编号供应商姓名 供应商手机号 endl; for(int i=0;in;i+)foutti.getid()setw(10)ti.getname()setw(14)ti.getphone()en

15、dl;cout*SaveSuccess!*endl;fout.close();C+程序设计课程设计报告第 21页,共50页intsearch() int id; coutid;int low=0,mid,high=n-1; while(lowid) high=mid-1;else low=mid+1;return -1;void xiugai()charname100;int phone;int temp;C+程序设计课程设计报告第 22页,共50页temp=search();if(temp=-1)coutcannot find the gys!endl; return;elsecout 请输

16、入新数据 :endl;coutname;ttemp.setname(name);coutphone;ttemp.setphone();void remove() gysData g10;cout 请输入要删除的供应商编号id;fstream file(gys.txt,ios:in|ios:out|ios:binary); for(int u=0;u5;u+)C+程序设计课程设计报告第 23页,共50页file.read(char*)&gu,sizeof(gu); for(int v=0;v5;v+) if(gv.id=id)continue;elsefile.write(char*)&gv,s

17、izeof(gv);cout 该供应商被删除 endl;file.close();菜单函数的设计inline void menu2()system(cls);cout*欢迎使用商品销售管理系统*endl;cout*商 品选 项 *endl;cout(1) 添 加endl;C+程序设计课程设计报告第24页,共50页cout(2) 保 存endl;cout(3) 删 除endl;cout(4) 查 找endl;cout(5) 信 息 输 出endl;cout(6) 修 改endl;cout(7) 菜 单endl;cout(0) 退 出 系 统endl;cout*2012.6*endl;inline

18、 void menu1()system(cls);cout*endl;cout*欢迎 使用 商品销售 管理系统*主 菜 单 *C+程序设计课程设计报告第25页,共50页endl;cout(1) 商 品 选 项endl;cout(2) 供 应 商 选 项endl;cout(0) 退 出 系 统endl;cout*2012.6*endl;inline void menu3()system(cls);cout*欢迎使用商品销售管理系统*endl;cout*供应商选项*endl;cout(1) 添 加endl;cout(2) 保 存endl;cout(3) 删 除endl;C+程序设计课程设计报告第

19、26页,共50页cout(4) 查 找endl;cout(5) 信 息 输 出endl;cout(6) 修 改endl;cout(7) 菜 单endl;cout(0) 退 出 系 统endl;cout*2012.6*endl;主函数的设计:int main()menu1();int x;coutx;switch(x)C+程序设计课程设计报告第 27页,共50页case 1:menu2();Commodity com;int c;for(;)coutc;switch(c)case 1:com.newFile();break;case 2:com.save();break;case 3:com.r

20、emove();break;case 4:com.search;break;case 5:com.showData();break;case 6:menu1();break;case 0:cout*谢 谢 使 用*endl;cout*!再见!*endl;C+程序设计课程设计报告第 28页,共50页break;case 2:menu3();gongyingshang gys;int c;for(;)coutc;switch(c)case 1:gys.newFile();break;case 2:gys.save();break;case 3:gys.remove();break;case 4:g

21、ys.showData();break;case 5:gys.search();break;case 6:menu1();break;C+程序设计课程设计报告第29页,共50页case 0:cout*谢 谢 使 用*endl;cout*!再见!*endl;break;case 0:cout*谢 谢使 用*endl;cout*!再 见 !*endl;break;return 0;(4)调试分析:C+程序设计课程设计报告第 30页,共50页程序 3.cpp(226) : warning C4700: local variable n used without having been initial

22、ized程序 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 initialized桌面 q.cpp(237) : error C2562: search :void function returning a value桌面 q.cpp(228) :see declarationofsearch桌面 q.cpp(243) : erro

23、r C2562: search :void function returning a value桌面 q.cpp(228) :see declarationofsearch (5)用户使用说明手册:1.进入演示程序后,即显示对话形式的提示操作过程:如第一个选择 1 商品选项 ,即显示 (1)添加 (2)保存 (3)删除 (4)查找 (5)信息输出(6)修改(7)菜单(0)退出系统选择 1,即显示商品编号、商品名、库存量、进价、售价、供应商各项商品信息, 一次输入所添加的数据。 添加完毕,按-1 退出添加;选择 2,即将商品信息保存;选择 3,删除要删除的商品信息;选择 4,查找商品信息;选择

24、5,信息的输出;选择 6,修改信息选择 7,返回到菜单;选择 0,退出系统。C+程序设计课程设计报告第 31页,共50页如第一个选择 2,供应商选项 ,同样显示 (1)添加 (2)保存 (3)删除 (4)查找 (5)信息输出(6)修改 (7)菜单 (0)退出系统选择数据的功能跟上面一样。第一个选择 0 退出系统。( 6)测试数据进入演示程序后,即显示对话形式的提示操作过程:选择: 1商品选项选择: 1添加商品C+程序设计课程设计报告第 32页,共50页选择: 2保存信息选择: 3删除信息选择: 4查找信息选择: 5信息输出选择: 6修改C+程序设计课程设计报告第 33页,共50页选择: 0 退

25、出系统选择: 2供应商选项供应商信息的各选项跟商品信息的选项一样。C+程序设计课程设计报告第 34页,共50页4课程设计成果程序源代码#include#include#include#include#define Mfname 100#include#include#include#includeclass spDataprivate:charname100;intcount;floatiprice;floatoprice;chargys20;public:intid;int getId()return id;char *getName()return name;int getCount()r

26、eturn count;float getBuy()C+程序设计课程设计报告第 35页,共50页return iprice;float getSale()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

27、 gysDataC+程序设计课程设计报告第 36页,共50页private:char name100;int phone;public:int id;int getid()return id;char *getname()return name;int getphone()return phone;void setid()cinid;void setname(char na)strcpy(name,na);void setphone()cinphone;class Commodityprivate:spData t50;int n;public:C+程序设计课程设计报告第 37页,共50页vo

28、id newFile()intid;int n;charname50;intcount;float iprice;float oprice;chargys20;if(n0)n=0;int i;spData temp;for(;n+)coutid;if(id=-1)break;tn.setId(id);coutname;tn.setName(name);coutcount;tn.setCount(count);coutiprice;tn.setBuy(iprice);coutoprice;tn.setSale(oprice);C+程序设计课程设计报告第 38页,共50页coutgys;tn.se

29、tGys(gys);cout 若商品添加完毕,请按-1 退出添加 !endl;for(i=0;itn.getId()temp=ti;ti=tn;tn=temp;void showData(int i)spData t,*p;p=&t;coutgetId()setw(10)getName()setw(10)getCount()setw(8)getBuy()setw(8)getSale() setw(8)getGys()endl;void showData()int n;cout 商品编号 setw(8) 商品名 setw(8) 库存量 setw(10) 已售量 setw(10) 进价 setw(

30、8) 售价 setw(8) 供应商 endl;for(int i=0;i0 )C+程序设计课程设计报告第 39页,共50页showData(i);cout 商品种类 :nendl;void save()ofstream fout;fout.open( 商品清单 .txt,ios:app); if(!fout)coutcannot open the file!endl; return ; 商 品 名 fout 商 品 编 号 库存量 进价 售价 供应商 endl;for(int i=0;in;i+)foutti.getId()setw(14)ti.getName()setw(10)ti.getC

31、ount()setw(10)ti.getBuy()setw(10)ti.getSale()setw(10)ti.getGys()endl;cout*SaveSuccess!*endl;fout.close();void xiugai()intcount;charname100;floatiprice;floatoprice;chargys20;int temp;temp=search();if(temp=-1)coutcannot find the shopping!endl;C+程序设计课程设计报告第 40页,共50页return;else cout 请输入新数据 :endl; coutna

32、me;ttemp.setName(name);coutcount;ttemp.setCount(count);coutiprice;ttemp.setBuy(iprice);coutoprice;ttemp.setSale(oprice);coutgys;ttemp.setGys(gys);int search() int id; coutid;int low=0,mid,high=n-1; while(lowid)high=mid-1;else low=mid+1;C+程序设计课程设计报告第 41页,共50页return -1;void remove() spData t10;cout 请输

33、入要删除的商品编号 id;file(fstream商品清单 .txt,ios:in|ios:out|ios:binary);for(int u=0;u5;u+) file.read(char*)&tu,sizeof(tu); for(int v=0;v5;v+)if(tv.id=id)continue;elsefile.write(char*)&tv,sizeof(tv); cout 该商品被删除 endl;file.close();class gongyingshangprivate:gysData t50;intn;public:void newFile() int id;charname50;int phone;if(n0)n=0;for(;n+)C+程序设计课程设计报告第 42页,共50页coutid;if(id=-1)break;tn.setid();cout 供应商名称 :;tn.setname(name);cout 供应商电话 :;tn.setphone( );cout 若供应商

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论