您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > C++课程设计-商品管理系统
.淮海工学院计算机工程学院课程设计报告设计名称:C++程序设计课程设计姓名:学号:专业班级:系(院):设计时间:设计地点:指导教师评语:签名:年月日成绩:C++程序设计课程设计报告第2页,共39页1、课程设计目的C++程序设计课程设计是计算机科学与技术专业重要的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C++的知识点,又接近工程实际需要。目的是通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C++程序设计这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。2、课程设计任务与要求:本次课程设计利用《C++程序设计》课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。要求:1、对系统进行功能需求分析2、设计合理的数据结构和系统框架3、编程简练,程序功能齐全,能正确运行4、说明书、流程图要清楚5、课题完成后必须按要求提交课程设计报告任务:设计一个商品销售管理系统。运用C++语言描述商品类、供应商类。要求设计中综合运用C++基础知识,利用指针对商品、供应商链表进行处理,方便快捷的进行增删改,充分利用友元来处理两个类之间的关系,理解面向对象程序设计的核心的概念。实现功能:(1)建立商品类、供应商类(2)商品、供应商信息的初始化(3)商品信息的添加、修改、删除、查找(4)供应商信息的添加、修改、删除、查找(5)商品信息、供应商信息的输出C++程序设计课程设计报告第3页,共39页备注:将商品、供应商保存为文件,能够写入与读出。C++程序设计课程设计报告第4页,共39页概要设计(1)需求分析:要实现对商品,供应商信息的添加、修改、删除、查找,并输出信息,能够方便快捷,并有用户能详细清楚的操作指南。(2)模块说明:本次程序设计中,需要设计10个模块,分别是添加、修改、删除、查找、输出商品信息和供应商信息,一共4个类:分别是商品类、商品数据类、供应商类、供应商数据类。通过几个switch语句实现用户选择功能。主要函数流程图:C++程序设计课程设计报告第5页,共39页(3)详细设计商品数据类的设计classspData{private:charname[100];intcount;floatiprice;C++程序设计课程设计报告第6页,共39页floatoprice;chargys[20];public:intid;intgetId()char*getName()intgetCount()floatgetBuy()floatgetSale()char*getGys()voidsetId(intn)voidsetName(charna[])voidsetCount(intc)voidsetBuy(floati)voidsetSale(floato)voidsetGys(charg[])};商品类的设计classCommodity{private:spDatat[50];intn;public:voidnewFile(){intid;intn;charname[50];C++程序设计课程设计报告第7页,共39页intcount;floatiprice;floatoprice;chargys[20];if(n0)n=0;inti;spDatatemp;for(;;n++){cout商品编号:;cinid;if(id==-1)break;t[n].setId(id);cout商品名:;cinname;t[n].setName(name);cout库存量:;cincount;t[n].setCount(count);cout进价:;ciniprice;t[n].setBuy(iprice);cout售价:;cinoprice;C++程序设计课程设计报告第8页,共39页t[n].setSale(oprice);cout供应商:;cingys;t[n].setGys(gys);cout若商品添加完毕,请按-1退出添加!endl;for(i=0;in;i++){if(t[i].getId()t[n].getId()){temp=t[i];t[i]=t[n];t[n]=temp;}}}}voidshowData(inti){spDatat,*p;p=&t;coutp-getId()setw(10)p-getName()setw(10)p-getCount()setw(8)p-getBuy()setw(8)p-getSale()setw(8)p-getGys()endl;}voidshowData(){intn;C++程序设计课程设计报告第9页,共39页cout商品编号setw(8)商品名setw(8)库存量setw(10)已售量setw(10)进价setw(8)售价setw(8)供应商endl;for(inti=0;in;i++)if(t[i].getCount()0)showData(i);cout商品种类:nendl;}voidsave(){ofstreamfout;fout.open(商品清单.txt,ios::app);if(!fout){coutcannotopenthefile!endl;return;}fout商品编号商品名库存量进价售价供应商endl;for(inti=0;in;i++){foutt[i].getId()setw(14)t[i].getName()setw(10)t[i].getCount()setw(10)t[i].getBuy()setw(10)t[i].getSale()setw(10)t[i].getGys()endl;}cout*************SaveSuccess!*****************endl;C++程序设计课程设计报告第10页,共39页fout.close();}voidxiugai(){intcount;charname[100];floatiprice;floatoprice;chargys[20];inttemp;temp=search();if(temp==-1){coutcannotfindtheshopping!endl;return;}else{cout请输入新数据:endl;cout商品名:;cinname;t[temp].setName(name);cout库存量:;cincount;t[temp].setCount(count);cout进价:;ciniprice;t[temp].setBuy(iprice);cout售价:;C++程序设计课程设计报告第11页,共39页cinoprice;t[temp].setSale(oprice);cout供应商:;cingys;t[temp].setGys(gys);}}intsearch(){intid;coutid:;cinid;intlow=0,mid,high=n-1;while(low=high){mid=(low+high)/2;if(t[mid].getId()==id)returnmid;elseif(t[mid].getId()id)high=mid-1;elselow=mid+1;}return-1;}voidremove(){spDatat[10];cout请输入要删除的商品编号endl;intid;cinid;C++程序设计课程设计报告第12页,共39页fstreamfile(商品清单.txt,ios::in|ios::out|ios::binary);for(intu=0;u5;u++)file.read((char*)&t[u],sizeof(t[u]));for(intv=0;v5;v++){if(t[v].id==id)continue;elsefile.write((char*)&t[v],sizeof(t[v]));cout该商品被删除endl;}file.close();}};供应商数据类的设计classspData{private:charname[100];intcount;floatiprice;floatoprice;chargys[20];public:intid;intgetId()char*getName(charna[])intgetCount()C++程序设计课程设计报告第13页,共39页floatgetBuy()floatgetSale()char*getGys()voidsetId(intn)voidsetName(charna[])voidsetCount(intc)voidsetBuy(floati)voidsetSale(floato)voidsetGys(charg[])};供应商类的设计classgongyingshang{private:gysDatat[50];intn;public:voidnewFile(){intid;charname[50];intphone;if(n0)n=0;for(;;n++){cout供应商编号:;cinid;if(id==-1)break;C++程序设计课程设计报告第14页,共39页t[n].setid();cout供应商名称:;t[n].setname(name);cout供应商电话:;t[n].setphone();cout若供应商添加完毕,请按-1退出添加!endl;}}voidshowData(inti){gysDatat,*p;p=&t;coutsetw(8)p-getid()setw(10)p-getname()setw(10)p-getphone()endl;}voidshowData(){coutsetw(8)供应商编号setw(8)供应商名称setw(8)供应商电话endl;for(inti=0;in;i++)showData(i);cout产品种类:nendl;C++程序设计课程设计报告第15页,共39页}voidsave(){ofstreamfout;fout.open(供应商.txt,ios::app);if(!fout){coutcannotopenthefile!endl;return;}fout供应商编号供应商姓名供应商手机号endl;for(inti=0;in;i++){foutt[i].getid()setw(10)t[i].getname()setw(14)t[i].getphone()endl;}cout*************SaveSuccess!*****************endl;fout.close();}intsearch(){intid;coutid:;cinid;intlow=0,mid,high=n-1;while(low=high){mid=(low+high)/2;if(t[mid].getid()==id)returnmid;elseif(t[mid].getid()id)high=mid-1;C++程序设计课程设计报告第16页,共39页elselow=mid+1;}return-1;}voidxiugai(){charname[100];intphone;inttemp;temp
本文标题:C++课程设计-商品管理系统
链接地址:https://www.777doc.com/doc-5146148 .html