欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    商品进货管理系统课程设计.doc

    • 资源ID:3819319       资源大小:248.50KB        全文页数:30页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    商品进货管理系统课程设计.doc

    目录一、需求分析2二、概要设计2三、详细设计4四、调试分析15五、用户手册15六、测试数据.15七、附录20一、需求分析1. 输入功能:输入商品信息如:商品编号、商品名称、商品类别(普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%)、商品进货价格、商品销售价格、商品数量、供应商名称等。2. 记录功能:记录每一次进货信息,对该信息可以进行增加3. 删除功能:能够将输入的商品的某部分信息进行删除操作4. 修改功能:能够将输入的商品的某部分信息进行修改操作5. 查询功能:能够对进货信息中的商品按照供应商以及价格进行查询6. 排序功能:能够对进货信息中的商品按照供应商以及价格进行排序7. 统计功能:并能够对所有进货商品进行价格、数量汇总8. 要求:1) 源文件采用多文件的工程结构;2) 数据存储采用文件形式;3) 采用面向对象方法设计;4) 功能完善,适当的注释;5) 关于文件的内容需要自学;二、概要设计1. 商品类的定义:class Goodspublic:Goods();void init(int Num,char Name20,char Type20,float Inmoney,float Outmoney,int Quantity,char Gname20);int getnum();float getinmoney();float getoutmoney();int getquantity();int gettag();void delgoods();char* getname();char* getgname();void disp();private:int tag;int num;char name20;char type20;float inmoney;float outmoney;int quantity;char gname20;2. 商品库类定义:class GoDatapublic:GoData(); /构造函数void addgoods();/新增商品void delgoods(); /删除商品void modify(); /修改商品信息 float outmonstati(); /销售价统计void sortinmon(); /进价排序void sortoutmon(); /销售价排序 void sort();Goods* searchgname(char Gname20); /按供应商搜索void gnamedisp(char Gname20); /按供应商显示Goods* searchinmoney(double Inmoney); /按进价搜索void inmoneydisp(double Inmoney);/按进价显示Goods* searchnum(int Num); /按编号搜索Goods* searchoutmoney(double Outmoney); /按销售价搜索void outmoneydisp(double Outmoney);/按销售价显示float GoData:inmonstati();void GoData:intotal();void search();void godata(); /商品库维护void disp();GoData(); /析构函数private:int top;Goods goods20; 三、详细设计1. 商品类成员函数的定义:Goods:Goods()void Goods:init(int Num,char Name20,char Type20,float Inmoney,float Outmoney,int Quantity,char Gname20)num=Num;inmoney=Inmoney;outmoney=Outmoney;quantity=Quantity;strcpy(name,Name);strcpy(gname,Gname);strcpy(type,Type);tag=1;int Goods:getnum()return num;float Goods:getinmoney()return inmoney;float Goods:getoutmoney()return outmoney;int Goods:getquantity()return quantity;int Goods:gettag()return tag;void Goods:delgoods()tag=0;char* Goods:getname()return name;char* Goods:getgname()return gname;void Goods:disp()cout<<endl<<"商品编号:"<<num<<endl<<"商品名称:"<<name<<endl<<"商品类型:"<<type<<endl<<"进货价格:"<<inmoney<<endl<<"销售价格:"<<outmoney<<endl<<"商品数量:"<<quantity<<endl<<"供应商家:"<<gname<<endl;2.商品库类成员函数的定义GoData:GoData() /构造函数Goods g;top=-1;ifstream fin("goods.txt");while(1)fin.read(char *)&g,sizeof(g);if(!fin)break;top+;goodstop=g;fin.close();void GoData:addgoods()/新增商品int num;char name20;char type20;float inmoney;float outmoney;int quantity;char gname20;Goods *g;cout<<"请输入商品的基本信息:"<<endl;cout<<"商品编号:"<<endl;cin>>num;cout<<"商品名称:"<<endl;cin>>name;cout<<"商品类别:"<<endl;cin>>type;cout<<"商品的进货价:"<<endl;cin>>inmoney;cout<<"商品的销售价:"<<endl;cin>>outmoney;cout<<"商品数量:"<<endl;cin>>quantity;cout<<"供应商名称:"<<endl;cin>>gname;if(searchnum(num)=NULL) top+; goodstop.init(num,name,type,inmoney,outmoney,quantity,gname); g=searchnum(num); system("cls"); cout<<"-新增商品成功-"<<endl; g->disp(); system("pause");elsecout<<"您输入的信息有误请重新输入!"<<endl;void GoData:delgoods() /删除商品int num;Goods *g;cout<<"请输入要删除商品的编号:"<<endl;cin>>num;g=searchnum(num);if(g=NULL)cout<<"该商品不存在,请重新输入"<<endl;elseg->delgoods();cout<<"-删除成功-"<<endl;g->disp();void GoData:modify() /修改商品信息int oldnum;int num;char name20;char type20;float inmoney;float outmoney;int quantity;char gname20;Goods *g;cout<<"请输入需要修改的商品的编号:"<<endl;cin>>oldnum;g=searchnum(oldnum);if(g=NULL)cout<<"该商品不存在,请重新输入"<<endl;elsecout<<"请输入商品的新信息:"<<endl;cout<<"商品编号:"<<endl;cin>>num;cout<<"商品名称:"<<endl;cin>>name;cout<<"商品类别:"<<endl;cin>>type;cout<<"商品的进货价:"<<endl;cin>>inmoney;cout<<"商品的销售价:"<<endl;cin>>outmoney;cout<<"商品数量:"<<endl;cin>>quantity;cout<<"供应商名称:"<<endl;cin>>gname;g->init(num,name,type,inmoney,outmoney,quantity,gname);system("cls");float GoData:inmonstati() /进价统计float count=0;for(int i=0;i<=top;i+)count=count+goodsi.getinmoney()*goodsi.getquantity();return count; float GoData:outmonstati() /销售价统计float count=0;for(int i=0;i<=top;i+)count=count+goodsi.getoutmoney()*goodsi.getquantity();return count; int GoData:quanstati() /数量统计 int count=0; for(int i=0;i<=top;i+)count=count+goodsi.getquantity();return count; void GoData:sortinmon() /进价排序float good20,t;Goods *g;for(int i=0;i<=top;i+)goodi=goodsi.getinmoney(); for(int j=0;j<=top-1;j+) for(int i=0;i<=top-1-j;i+) if(goodi>goodi+1) t=goodi; goodi=goodi+1; goodi+1=t; for(int k=0;k<=top;k+)g=searchinmoney(goodk);g->disp();system("pause");void GoData:sortoutmon() /销售价排序float good20,t;Goods *g;for(int i=0;i<=top;i+)goodi=goodsi.getoutmoney();for(int j=0;j<=top-1;j+) for(int i=0;i<=top-1-j;i+) if(goodi>goodi+1) t=goodi; goodi=goodi+1; goodi+1=t; for(int k=0;k<=top;k+) g=searchoutmoney(goodk); g->disp();system("pause"); void GoData:sort() int choice=1; while(choice!=0) cout<<" - 1 按进价排序-"<<endl; cout<<" - 2 按销售价排序-"<<endl; cout<<" - 0 退出 -"<<endl; cin>>choice; switch(choice) case 1: system("cls"); sortinmon(); break; case 2: system("cls"); sortoutmon(); break; case 0: system("cls"); break; cout<<"按任意键继续"<<endl; getch(); system("cls"); void GoData:intotal() /汇总cout<<"所有商品的进价总和为:"<<inmonstati()<<endl;cout<<"所有商品的销售价总和为:"<<outmonstati()<<endl;cout<<"所有商品的数量总和为:"<<quanstati()<<endl;Goods* GoData:searchgname(char Gname20) /按供应商搜索for(int i=0;i<=top;i+) if(!strcmp(goodsi.getgname(),Gname)&&goodsi.gettag()=1) return &goodsi;return NULL;void GoData:gnamedisp(char Gname20) /按供应商显示for(int i=0;i<=top;i+)if(!strcmp(goodsi.getgname(),Gname)&&goodsi.gettag()=1)goodsi.disp();Goods* GoData:searchinmoney(double Inmoney) /按进价搜索for(int i=0;i<=top;i+) if(goodsi.getinmoney()=Inmoney&&goodsi.gettag()=1) return &goodsi;return NULL;void GoData:inmoneydisp(double Inmoney)/按进价显示for(int i=0;i<=top;i+)if(goodsi.getinmoney()=Inmoney&&goodsi.gettag()=1)goodsi.disp();Goods* GoData:searchnum(int Num) /按编号搜索for(int i=0;i<=top;i+) if(goodsi.getnum()=Num&&goodsi.gettag()=1) /cout<<"找到的商品号:"<<goodsi.getnum()<<"找到的商品标记:"<<goodsi.gettag()<<endl; return &goodsi; return NULL;Goods* GoData:searchoutmoney(double Outmoney) /按销售价搜索for(int i=0;i<=top;i+) if(goodsi.getoutmoney()=Outmoney&&goodsi.gettag()=1) return &goodsi;return NULL;void GoData:outmoneydisp(double Outmoney)/按进价显示for(int i=0;i<=top;i+)if(goodsi.getoutmoney()=Outmoney&&goodsi.gettag()=1)goodsi.disp();void GoData:search()int choice=1;char gname20;double inmoney;double outmoney;Goods *g;while(choice!=0) cout<<"-1 按供应商查询-"<<endl; cout<<"-2 按进价查询 -"<<endl; cout<<"-3 按销售价查询-"<<endl; cout<<"-0 后退 -"<<endl; cin>>choice; switch(choice) case 1: system("cls"); cout<<"请输入供应商的名字:"<<endl; cin>>gname; g=searchgname(gname); if(g=NULL) cout<<"没有该商家供应的商品!"<<endl; else gnamedisp(gname); break; case 2: system("cls"); cout<<"请输入要查询的进价:"<<endl; cin>>inmoney; g=searchinmoney(inmoney); if(g=NULL) cout<<"没有该进价的商品!"<<endl; else inmoneydisp(inmoney); break; case 3: system("cls"); cout<<"请输入要查询的销售价:"<<endl; cin>>outmoney; g=searchoutmoney(outmoney); if(g=NULL) cout<<"没有该销售价的商品!"<<endl; else outmoneydisp(outmoney); break; cout<<"按任意键继续"<<endl; getch(); system("cls"); void GoData:godata() /商品库维护int choice=1;/int num;/Goods *g;while(choice!=0) cout<<endl<<endl<<"-欢迎进入商品进货管理系统-"<<endl<<endl; cout<<"-1 删除商品信息-"<<endl; cout<<"-2 商品信息查询-"<<endl; cout<<"-3 修改商品信息-"<<endl; cout<<"-4 商品信息排序-"<<endl; cout<<"-5 商品信息汇总-"<<endl; cout<<"-0 返回 -"<<endl; cin>>choice; switch(choice) case 1: system("cls"); delgoods(); break; case 2: system("cls"); search(); break; case 3: system("cls"); modify(); break; case 4: system("cls"); sort(); break; case 5: system("cls"); intotal(); break; void GoData:disp()for(int i=0;i<=top;i+)if(goodsi.gettag()=1)goodsi.disp();GoData:GoData() /析构函数ofstream fout("goods.txt");for(int i=0;i<=top;i+)if(goodsi.gettag()=1)fout.write(char *)&goodsi,sizeof(goodsi);fout.close();3.主函数:/-主函数-int main()GoData godata;/Goods *g;int choice=1;godata.disp();while(choice!=0)cout<<endl<<endl<<"-欢迎进入商品进货管理程序-"<<endl<<endl;cout<<"-1 增加进货信息-"<<endl;cout<<"-2 已进商品信息管理-"<<endl;cout<<"-0 退出 -"<<endl;cin>>choice;switch(choice)case 1:system("cls");godata.addgoods();break;case 2:system("cls");godata.godata();break;cout<<"按任意键返回!"<<endl;getch();system("cls");return 0;四、调试分析这次的面向对象程序设计的课程设计的任务,是我们在本阶段学完理论课程之后对自己该方面的能力的一次很好的检验。从开始的算法思路到运行调试后的美观的图形界面以及另人兴奋的可用程序,都是一个很好的学习和锻炼的过程。使我们巩固了原有的理论知识,培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力。使我们能够将自身知识和能力能在实际中的应用和发挥。五、用户手册 本程序的运行环境为DOS操作系统,执行文件为:商品进货管理系统.exe; 进入演示程序后,即显示对话形式的提示操作过程,选择进入增加进货信息时,则将所要输入的信息输入选择进入已进商品信息管理项时,则进入下一步详细操作;选择商品信息删除查询修改排序项后,可按各种信息搜索,选择相应选项即可; 选择退出后,便会退出系统。六、测试数据主界面: 新增商品功能:进入商品管理信息功能:进入商品查询功能:进入商品修改功能:进入商品排序功能:进入商品统计功能:七、附录#include<iostream.h>#include<fstream.h>#include<string.h>#include<windows.h>#include<conio.h>/-商品类-class Goodspublic:Goods()void init(int Num,char Name20,char Type20,float Inmoney,float Outmoney,int Quantity,char Gname20)num=Num;inmoney=Inmoney;outmoney=Outmoney;quantity=Quantity;strcpy(name,Name);strcpy(gname,Gname);strcpy(type,Type);tag=1;int getnum()return num;float getinmoney()return inmoney;float getoutmoney()return outmoney;int getquantity()return quantity;int gettag()return tag;void delgoods()tag=0;char* getname()return name;char* getgname()return gname;void disp()cout<<endl<<"商品编号:"<<num<<endl<<"商品名称:"<<name<<endl<<"商品类型:"<<type<<endl<<"进货价格:"<<inmoney<<endl<<"销售价格:"<<outmoney<<endl<<"商品数量:"<<quantity<<endl<<"供应商家:"<<gname<<endl;private:int tag;int num;char name20;char type20;float inmoney;float outmoney;int quantity;char gname20;/-商品库类-class GoDatapublic:GoData() /构造函数Goods g;top=-1;ifstream fin("goods.txt");while(1)fin.read(char *)&g,sizeof(g);if(!fin)break;top+;goodstop=g;fin.close();void addgoods()/新增商品int num;char name20;char type20;float inmoney;float outmoney;int quantity;char gname20;Goods *g;cout<<"请输入商品的基本信息:"<<endl;cout<<"商品编号:"<<endl;cin>>num;cout<<"商品名称:"<<endl;cin>>name;cout<<"商品类别:"<<endl;cin>>type;cout<<"商品的进货价:"<<endl;cin>>inmoney;cout<<"商品的销售价:"<<endl;cin>>outmoney;cout<<"商品数量:"<<endl;cin>>quantity;cout<<"供应商名称:"<<endl;cin>>gname;if(searchnum(num)=NULL) top+; goodstop.init(num,name,type,inmoney,outmoney,quantity,gname); g=searchnum(num); system("cls"); cout<<"-新增商品成功-"<<endl; g->disp();elsecout<<"您输入的信息有误请重新输入!"<<endl;void delgoods() /删除商品int num;Goods *g;cout<<"请输入要删除商品的编号:"<<endl;cin>>num;g=searchnum(num);if(g=NULL)cout<<"该商品不存在,请重新输入"<<endl;elseg->delgoods();cout<<"-删除成功-"<<endl;g->disp();void modify() /修改商品信息int oldnum;int num;char name20;char type20;float inmoney;float outmoney;int quantity;char gname20;Goods *g;cout<<"请输入需要修改的商品的编号:"<<endl;cin>>oldnum;g=searchnum(oldnum);if(g=NULL)cout<<"该商品不存在,请重新输入"<<endl;elsecout<<"请输入商品的新信息:"<<endl;cout<<"商品编号:"<<endl;cin>>num;cout<<"商品名称:"<<endl;cin>>name;cout<<"商品类别:"<<endl;cin>>type;cout<<"商品的进货价:"<<endl;cin>>inmoney;cout<<"商品的销售价:"<<endl;cin>>outmoney;cout<<"商品数量:"<<endl;cin>>quantity;cout<<"供应商名称:"<<endl;cin>>gname;g->init(num,name,type,inmoney,outmoney,quantity,gname);system("cls");float inmonstati() /进价统计float count=0;for(int i=0;i<=top;i+)count=count+goodsi.getinmoney()*goodsi.getquantity();return count; float outmonstati() /销售价统计float count=0;for(int i=0;i<=top;i+

    注意事项

    本文(商品进货管理系统课程设计.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开