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

    VC++课程设计报告小型超市商品管理系统.doc

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

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

    VC++课程设计报告小型超市商品管理系统.doc

    东莞理工学院三级项目设计报告    课程:学号: 姓名: 班级:教师:  2012年 1月 1日目录第一章 系统概述31.1 功能简介31.2 设计思路3第二章 系统功能的分析和设计42.1初始录入/添加函数42.2修改/删除函数42.3 查询/显示全部(利润)函数42.3.1 显示全部42.3.1 按条件查询52.4 查看过期食品函数52.5 退出系统5第三章 调试及运行结果63.1 主菜单63.2初始录入/添加功能63.3修改/删除功能63.4查询/显示全部(利润)功能73.5 查看过期食品功能8第四章 总结94.1 遇到的问题及解决方法94.2 收获和体会9附录:程序代码10第一章 系统概述1.1 功能简介本软件是一个简单的小型超市商品管理系统,软件窗口为DOS页面。小型超市商品管理系统的功能主要是实现小型超市商品的信息化管理。通过小型超市商品管理系统,商品管理人员可以实现对商品信息的增加、删除、修改、查询和计算利润等操作。本系统最大的优点就是操作简便快捷等。1.2 设计思路将商品信息定义为一个good类,在类中包含私有数据成员int num,string name,double cost,double price,string indate,int kpdate,string brand,string sort,string trademark,分别表示商品编号、商品名、进价、售价、食品出产日期、保质期、化妆品牌、日用品类型、饮料商标。公有成员函数包括in( ) ,change( ) ,search( ) ,profit( ) ,分别通过其四个子函数分别对应四种不同的商品用来实现对商品信息的数据初始录入和增加数据、修改和删除数据、查询和显示全部数据、计算商品利润功能。然后定义了一个menu( ) 菜单函数,使功能菜单显示在运行窗口以提示用户如何进行操作。主函数是一个程序必不可少的,在主函数中,创建一个good类的对象one并运行one的menu()函数开始使用本系统。第二章 系统功能的分析和设计在本章中,主要是介绍各个功能函数的设计思路和实现方法。2.1初始录入/添加函数此函数实现的功能主要是,对商品信息的初始化录入以及增加功能,在初始时,文件中没有任何数据,可以通过次函数输入任意个商品的信息,在输入时通过一个if条件语句来实现控制循环,当输入的姓名是“0”时,使用break语句就跳出循环,即停止输入学生信息。增加功能同此原理。在此函数中使用文件处理的方式,先建立一个文件输出流对象,根据用户的需要操作分别以增加的方式打开d:/food.txt;d:/ cosmetics.txt;d:/ dailyuse.txt;d:/ liquid.txt文件,分别对应食物,化妆品,日用品,饮料四种商品,使输入的商品信息都分类写入文件。2.2修改/删除函数此函数实现的功能主要是,修改/删除一个商品的信息。在此函数中,先以读的方式打开文件,读出文件里的信息在显示在屏幕上,关闭文件。用户再根据提示信息输入想要修改/删除的商品的商品编号,选择是删除还是修改该商品信息。再以写的方式打开文件,以一个if条件语句控制,再重新将商品信息写入文件(选择删除功能的话则除了打算删除的那个商品的信息),由于是以写的方式打开的文件,所以文件里原有的输入就都没有了,存入的新的数据。2.3 查询/显示全部(利润)函数 在查询/显示全部功能中,可以按多条件查询,若不按条件查询则可选择显示该类别全部商品信息且计算利润。本系统有两个基本查询条件,即按商品编号查询和按商品名查询,也可根据商品的特殊信息进行查询。使用if语句来选择查询条件。 2.3.1 显示全部 根据提示信息输入需要查询哪种类型的商品后,然后再选择显示全部功能使用一个for循环语句,显示全部该类别信息,并计算利润。 2.3.1 按条件查询 根据提示信息选择各种条件查询后,然后使用一个for循环语句,从第一个学生开始检索,如果该商品的信息和输入的条件一致,则输出该商品的信息。 当无查询结果时,则无显示 。2.4 查看过期食品函数 此功能实现的功能主要是,创建了一个日期类date,方便对生产日期和保质期的计算。首先要求用户输入今日的日期。再以读的方式打开食品商品文件,读出文件的信息并对生产日期和保质期利用日期类date进行求和。再以用户输入的今日日期进行求差。若结果为负数则输出“已过期!”,若结果为正数则输出还剩余几天。2.5 退出系统 当输入“0”时,就能退出系统,这是通过switch语句来控制实现的。当用户输入switch已定义的数字之外的数字,自动退出运用。再按任意键则退出DOS界面,第三章 调试及运行结果3.1 主菜单主菜单显示如下:图3-1 主菜单3.2初始录入/添加功能按1则进入输入/添加菜单,如图3-2-1:再选择相应的商品类型进行输入,如图3-2-2:图3-2-1 输入/添加菜单 图3-2-2 输入/添加过程3.3修改/删除功能进入主菜单后选择2,进入修改/删除功能,如图3-3-1;再选择相应的商品类型进行操作,根据提示进行操作,如图3-3-2;图3-3-1修改/删除菜单图3-3-1修改/删除过程3.4查询/显示全部(利润)功能进入主菜单后选择3,进入查询/显示全部功能菜单,如图3-4-1,根据相应操作输入需要查询的类型。根据相应操作进行查询。图3-4-1 查询菜单 图3-4-2 食品查询菜单图3-4-3查询全部(利润)3.5 查看过期食品功能进入主菜单后选择4,查看过期食品功能。 图3-5 查看食品第四章 总结4.1 遇到的问题及解决方法1P:商品分为四类,不像其他题目一样只有一类。 S: 商品分为四类,若然创建一个商品类再派生四个类则函数不好连接。所以把四种类型的变量,函数集中到一个类里。2P:一个功能需要分成四个子函数来完成,并且要创建一个功能菜单,导致程序过长,并且出现下列错误:fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit编译器限制 : 达到内部堆限制;。 S:将功能缩减整合,减少不必要的变量和多余的代码重复。3P:如何做到检查食品是否过期功能。 S:设定一个日期类。编写关于日期计算的函数来达到。4P:参考源程序第二次启动EXE不能查看全部数据。 S:改为用数组一次读取全部数据,引入变量记录读取的数据数量再循环输出。4.2 收获和体会个人感受首先,老师给的那个参考源程序有些不完美。例如程序第二次启动就不能查询到信息,不过里面倒是有很多代码可以复制下。做了一晚上的程序,外加弄了一晚上的这份报告,其实也学到很多东西。首先,不懂的东西要百度。其次,大概是遇到问题要绕弯吧,很多问题不能直接解决。总体来说这个题目应该是在十个题目里最难的,因为它的处理对象分成四个类型。而且其他题目可以直接从参考源程序里复制修改下,甚至可以在网上找到全部。附录:程序代码#include<iostream>#include<fstream>#include<string>#include<iomanip>using namespace std;class good /商品构造private:int num,kpdate;/保质期string name;string indate;/食品出厂日期string brand;/化妆品牌string sort;/日常用品分类string trademark;/饮料商标double cost,price;public:void menu();void in();void setfood();void setcosmetics();void setdailyuse();void setliquid();void change();void changefood();void changecosmetics();void changedailyuse();void changeliquid();void search();void searchfood();void searchcosmetics();void searchdailyuse();void searchliquid();void cheak();class dateprivate:int year,month,day;public:void set(int x)year=x/10000;month=(x-year*10000)/100;day=x-year*10000-month*100;int cdate(int x,date &y)int m;m=-(y.year-year)*365+(y.month-month)*30+y.day-day)+x;return m;void good:menu()cout<<""<<endl;cout<<" 1.输入/添加 "<<endl;cout<<" 2.修改/删除 "<<endl;cout<<" 3.查询/利润 "<<endl;cout<<" 4.查看过期食品(new!) "<<endl;cout<<" 0.退出 "<<endl;cout<<""<<endl;int x;cin>>x; switch(x)case 1:in();break;case 2:change();break;case 3:search();break;case 4:cheak();void good:in()cout<<""<<endl;cout<<"请根据需要输入对应序号 "<<endl;cout<<" 1.输入食品信息 "<<endl;cout<<" 2.输入化妆品信息 "<<endl;cout<<" 3.输入日常用品信息 "<<endl;cout<<" 4.输入饮料信息 "<<endl;cout<<" 0.返回菜单 "<<endl;cout<<""<<endl;int x;cin>>x; switch(x)case 1:setfood();break;case 2:setcosmetics();break;case 3:setdailyuse();break;case 4:setliquid();break;case 0:menu();break;void good:setfood()int i;ofstream outfile;outfile.open("d:food.txt",ios:app); if(!outfile)cerr<<" open error"<<endl; exit(1);for(i=0;i+)cout<<"当商品编号输入为'0'时,返回上一菜单。"<<endl;cout<<"商品编号:"cin>>num;if(num=0)break;if(num!=0)cout<<"食品名:"cin>>name; outfile<<num<<" " outfile<<name<<" " cout<<"成本价格:" cin>>cost; outfile<<cost<<" " cout<<"销售价格:" cin>>price; outfile<<price<<" " cout<<"8位数生产日期:" cin>>indate; outfile<<indate<<" " cout<<"保质期(天):" cin>>kpdate; outfile<<kpdate<<endl;outfile.close();menu();void good:setcosmetics()int i;ofstream outfile;outfile.open("d:cosmetics.txt",ios:app); if(!outfile)cerr<<" open error"<<endl; exit(1);for(i=0;i+)cout<<"当商品编号输入为'0'时,返回上一菜单。"<<endl;cout<<"请输入商品编号:"<<endl;cin>>num;if(num=0)break;if(num!=0)cout<<"化妆品名:"cin>>name; outfile<<num<<" " outfile<<name<<" " cout<<"成本价格:" cin>>cost; outfile<<cost<<" " cout<<"销售价格:" cin>>price; outfile<<price<<" " cout<<"化妆品牌:" cin>>brand; outfile<<brand<<endl;outfile.close();menu();void good:setdailyuse()int i,x;ofstream outfile;outfile.open("d:dailyuse.txt",ios:app); if(!outfile)cerr<<" open error"<<endl; exit(1);for(i=0;i+)cout<<"当商品编号输入为'0'时,返回上一菜单。"<<endl;cout<<"商品编号:"cin>>num;if(num=0)break;if(num!=0)cout<<"日常用品名:"cin>>name; outfile<<num<<" " outfile<<name<<" " cout<<"成本价格:" cin>>cost; outfile<<cost<<" " cout<<"销售价格:" cin>>price; outfile<<price<<" " cout<<""<<endl; cout<<"请根据分类输入对应序号 "<<endl; cout<<" 1.输入服装信息 "<<endl; cout<<" 2.输入鞋帽信息 "<<endl; cout<<" 3.输入清洁用品信息 "<<endl; cout<<""<<endl;cin>>x; switch(x) case 1:sort="服装"break; case 2:sort="鞋帽"break; case 3:sort="清洁用品"break; outfile<<sort<<endl;outfile.close();menu();void good:setliquid()int i;ofstream outfile;outfile.open("d:liquid.txt",ios:app); if(!outfile)cerr<<" open error"<<endl; exit(1);for(i=0;i+)cout<<"当商品编号输入为'0'时,返回上一菜单。"<<endl;cout<<"商品编号:"cin>>num;if(num=0)break;if(num!=0)cout<<"饮料名:"cin>>name; outfile<<num<<" " cout<<"成本价格:" cin>>cost; outfile<<cost<<" " cout<<"销售价格:" cin>>price; outfile<<price<<" " cout<<"饮料品牌:" cin>>trademark; outfile<<trademark<<endl;outfile.close();menu();void good:change()cout<<""<<endl;cout<<"请根据需要输入对应序号 "<<endl;cout<<" 1.修改食品信息 "<<endl;cout<<" 2.修改化妆品信息 "<<endl;cout<<" 3.修改日常用品信息 "<<endl;cout<<" 4.修改饮料信息 "<<endl;cout<<" 0.返回菜单 "<<endl;cout<<""<<endl;int x;cin>>x; switch(x)case 1:changefood();break;case 2:changecosmetics();break;case 3:changedailyuse();break;case 4:changeliquid();break;case 0:menu();break;void good:changefood()bool c;int i,k,m=0,kpdate50;int num50;double cost50,price50;string name50,indate50;ifstream infile("d:food.txt",ios:in); if(!infile)cerr<<" open error"<<endl;exit(1);cout<<" "cout<<setw(9)<<"商品编号"cout<<setw(9)<<"商品名"cout<<setw(9)<<"进价"cout<<setw(9)<<"售价"cout<<setw(9)<<"生产日期"cout<<setw(9)<<"保质期"<<endl;for(i=0;i<50;i+)infile>>numi;infile>>namei;infile>>costi;infile>>pricei;infile>>indatei;infile>>kpdatei;m+; if(infile.eof()break;m-;for(i=0;i<m;i+)cout<<" "cout<<setw(9)<<numi;cout<<setw(9)<<namei;cout<<setw(9)<<costi;cout<<setw(9)<<pricei;cout<<setw(9)<<indatei;cout<<setw(9)<<kpdatei<<endl;cout<<m<<endl;infile.close();ofstream outfile("d:food.txt",ios:out);if(!outfile) cerr<<" open error"<<endl; exit(1); cout<<"请输入需要修改的商品的编号。"<<endl;cin>>k;cout<<"修改:1;删除:0:"<<endl;cin>>c;if(c)for(i=0;i<m;i+)if(k=numi)k=i;break;cout<<"请输入新的数据:"<<endl;cout<<"食品名:"<<endl;cin>>namek;cout<<"成本价格:"cin>>costk;cout<<"销售价格:"cin>>pricek;cout<<"8位数生产日期:"cin>>indatek;cout<<"保质期(天):"cin>>kpdatek;for(i=0;i<m;i+) outfile<<numi<<" "outfile<<namei<<" "outfile<<costi<<" "outfile<<pricei<<" "outfile<<indatei<<" "outfile<<kpdatei<<" "<<endl;outfile.close();cout<<"已修改成功!"<<endl;elsefor(i=0;i<m;i+)if(i!=k)outfile<<numi<<" "outfile<<namei<<" "outfile<<costi<<" "outfile<<pricei<<" "outfile<<indatei<<" "outfile<<kpdatei<<" "<<endl;outfile.close();cout<<"已删除成功!"<<endl;menu();void good:changecosmetics()bool c;int i,k,m=0;int num50;double cost50,price50;string name50,brand50;ifstream infile("d:cosmetics.txt",ios:in); if(!infile)cerr<<" open error"<<endl;exit(1);cout<<" "cout<<setw(9)<<"商品编号"cout<<setw(9)<<"商品名"cout<<setw(9)<<"进价"cout<<setw(9)<<"售价"cout<<setw(9)<<"品牌"<<endl;for(i=0;i<50;i+)cout<<" "infile>>numi;infile>>namei;infile>>costi;infile>>pricei;infile>>brandi;m+;if(infile.eof()break;m+;for(i=0;i<m;i+)cout<<" "cout<<setw(9)<<numi;cout<<setw(9)<<namei;cout<<setw(9)<<costi;cout<<setw(9)<<pricei;cout<<setw(9)<<brandi<<endl;infile.close();ofstream outfile("d:cosmetics.txt",ios:out);if(!outfile) cerr<<" open error"<<endl; exit(1); cout<<"请输入需要修改的商品的编号。"<<endl;cin>>k;cout<<"修改:1;删除:0:"<<endl;cin>>c;if(c)for(i=0;i<m;i+)if(k=numi)k=i;break;cout<<"新的数据:"cout<<"化妆品:"cin>>namek;cout<<"成本价格:"cin>>costk;cout<<"销售价格:"cin>>pricek;cout<<"化妆品牌:"cin>>brandk;for(i=0;i<m;i+) outfile<<numi<<" "outfile<<namei<<" "outfile<<costi<<" "outfile<<pricei<<" "outfile<<brandi<<" "<<endl;outfile.close();cout<<"已修改成功!"<<endl;elsefor(i=0;i<m;i+)if(i!=k)outfile<<numi<<" "outfile<<namei<<" "outfile<<costi<<" "outfile<<pricei<<" "outfile<<brandi<<" "<<endl;outfile.close();cout<<"已删除成功!"<<endl;menu();void good:changedailyuse()bool c;int i,k,m=0;int num50;double cost50,price50;string name50,sort50;ifstream infile("d:dailyuse.txt",ios:in); if(!infile)cerr<<" open error"<<endl;exit(1);cout<<" "cout<<setw(9)<<"商品编号"cout<<setw(9)<<"商品名"cout<<setw(9)<<"进价"cout<<setw(9)<<"售价"cout<<setw(9)<<"类别"<<endl;for(i=0;i<50;i+)cout<<" "infile>>numi;infile>>namei;infile>>costi;infile>>pricei;infile>>sorti;m+;if(infile.eof()break;m-;for(i=0;i<m;i+)cout<<" "cout<<setw(9)<<numi;cout<<setw(9)<<namei;cout<<setw(9)<<costi;cout<<setw(9)<<pricei;cout<<setw(9)<<sorti<<endl;infile.close();ofstream outfile("d:dailyuse.txt",ios:out);if(!outfile) cerr<<" open error"<<endl; exit(1); cout<<"请输入需要修改的商品的编号。"<<endl;cin>>k;cout<<"修改:1;删除:0:"<<endl;cin>>c;if(c)for(i=0;i<m;i+)if(k=numi)k=i;break;cout<<"请输入新的数据:"<<endl;cout<<"日用品名:"cin>>namek;cout<<"成本价格:"cin>>costk;cout<<"销售价格:"cin>>pricek;cout<<"日常用品分类:"cin>>sortk;for(i=0;i<m;i+) outfile<<numi<<" "outfile<<namei<<" "outfile<<costi<<" "outfile<<pricei<<" "outfile<<sorti<<" "<<endl;outfile.close();cout<<"已修改成功!"<<endl;elsefor(i=0;i<m;i+)if(i!=k)outfile<<numi<<" " outfile<<namei<<" " outfile<<costi<<" " outfile<<pricei<<" " outfile<<trademarki<<" "<<endl;outfile.close();cout<<"已删除成功!"<<endl;menu();void good:changeliquid()bool c;int i,k,m=0;int num50;double cost50,price50;string name50,trademark50;ifstream infile("d:liquid.txt",ios:in); if(!infile)cerr<<" open error"<<endl;exit(1);cout<<" "cout<<setw(9)<<"商品编号"cout<<setw(9)<<"商品名"cout<<setw(9)<<"进价"cout<<setw(9)<<"售价"cout<<setw(9)<<"生产日期"cout<<setw(9)<<"商标"<<endl;for(i=0;i<50;i+)infile>>numi;infile>>namei;infile>>costi;infile>>pricei;infile>>trademarki;m+;if(infile.eof()break;m-;cout<<setw(9)<<"商标"<<endl;for(i=0;i<m;i+)cout<<" "cout<<setw(9)<<numi;cout<<setw(9)<<namei;cout<<setw(9)<<costi;cout<<setw(9)<<pricei;cout<<setw(9)<<trademarki<<endl

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开