超市商品标准管理专业系统设计-C++.doc
《超市商品标准管理专业系统设计-C++.doc》由会员分享,可在线阅读,更多相关《超市商品标准管理专业系统设计-C++.doc(28页珍藏版)》请在咨信网上搜索。
重庆科技学院 《面向对象程序设计》 课程设计报告 学 院:_电气与信息工程学院_ 专业班级: 学生姓名: 学 号: 设计地点(单位)________计算机自主学习中心 ________ __ 设计题目:________超市商品管理系统设计______________ _____ 完毕日期: 年1月18日 指引教师评语:______________________ _________________ _________________________________________________________________________________________________________________________________________________________________________________________________________ __________ _ 成绩(五级记分制):______ __________ 指引教师(签字):________ ________ 摘要 商品管理系统是一种公司不可缺少某些,它内容对于公司决策者和管理者来说都很重要,因此商品管理系统应当可觉得顾客提供充分信息和快捷查询手段。随着科学技术不断提高,其强大功能已经为人们深刻结识,它已经进入人类社会各个领域并发挥着重要作用。因而,通过电脑软件编程,开发这样一套商品管理系统成为很有必要事情。顾客可以依照该系统查询有关信息,管理者可以依照该系统查询、修改商品信息。 核心字:商品管理、查询、科技、编程 重庆科技学院 程序设计任务书 设计题目:超市商品管理系统设计 学生姓名 课程名称 面向对象程序设计基本课程设计 专业班级 计科1102 地 点 I304/I306 起止时间 1月7日~1月18日 设计内容及规定 1)问题描述 超市中商品分为四类,分别是食品、化妆品、日用品和饮料。每种商品都包括商品名称、价格、库存量和生产厂家、品牌等信息。 重要完毕对商品销售、记录和简朴管理。 2)功能规定 (1)销售功能。购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品有关信息。如果有库存量,输入购买数量,进行相应计算。如果库存量不够,给出提示信息,结束购买。 (2)商品简朴管理功能。 添加功能:重要完毕商品信息添加。 查询功能:可按商品类别、商品名称、生产厂家进行查询。若存在相应信息,输出所查询信息,若不存在该记录,则提示“该记录不存在!”。 修改功能:可依照查询成果对相应记录进行修改。 删除功能:重要完毕商品信息删除。先输入商品类别,再输入要删除商品名称,依照查询成果删除该物品记录,如果该商品不在物品库中,则提示“该商品不存在”。 (3)记录功能。 输出当前库存中所有商品总数及详细信息;可按商品价格、库存量、生产厂家进行记录,输出记录信息时,要按从大到小进行排序。 3)问题解决方案 依照系统功能规定,可以将问题解决分为如下环节: (1)应用系统分析,建立该系统功能模块框图以及界面组织和设计; (2)分析系统中各个实体及它们之间关系; (3)依照问题描述,设计系统类层次; (4)完毕类层次中各个类描述; (5)完毕类中各个成员函数定义; (6)完毕系统应用模块; (7)功能调试; (8)完毕系统总结报告。 依照题目规定,运用所学知识,完毕设计和实现工作,并按照书写规范,撰写课程设计报告。 设计 参数 (1)系统分析、设计对的。 (2)成果以图表方式显示。 (3)界面简洁、美观。 (4)报告格式规范。 进度 规定 周一:明确设计任务,学习有关基本知识 周二:熟悉各知识点,进行基本练习 周三:依照题目规定,进行设计和实现 周四:依照题目规定,进行设计和实现 周五:程序测试 参照资料 [1]Richard Johnsonbaugh. Martin Kalin.《面向对象程序设计—C++语言描述》.机械工业出版社. [2]钱能.《C++语言程序设计教程》.清华大学出版社. 其他 阐明 1.本表应在每次实行前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。2.若填写内容较多可另纸附后。 3.一题多名学生共用,在设计内容、参数、规定等方面应有所区别。 教研室主任: 指引教师:裴仰军/伍建全/焦晓军/陈应祖 1月1日 目 录 摘要 ………………………………………………………………………………2 课程设计任务书 ……………………………………………………………………3 1 软件需求分析阐明 ………………………………………………………………6 2 软件分析与设计 …………………………………………………………………7 2.1 软件界面设计 ……………………………………………………………7 2.2 软件数据(构造)设计 ………………………………………………7 2.3 软件算法设计 …………………………………………………………9 3软件实现 …………………………………………………………………………11 4软件测试 …………………………………………………………………………18 5软件使用阐明书 ……………………………………………………………………21 道谢 ……………………………………………………………………………………22 参照文献 ………………………………………………………………………………23 第一章 软件需求分析阐明书 该商品管理只要把商品分为四类,分别是食品、化妆品、日用品和饮料。每种商品都包括商品名称、价格、库存量和生产厂家信息。该商品管理系统重要完毕对商品销售、记录和简朴管理。 (1)销售功能。购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品有关信息。如果有库存量,输入购买数量,进行相应计算。如果库存量不够,给出提示信息,结束购买。 (2)商品简朴管理功能。 添加功能:重要完毕商品信息添加。 查询功能:可按商品类别、商品名称、生产厂家进行查询。若存在相应信息,输出所查询信息,若不存在该记录,则提示“该记录不存在!”。 修改功能:可依照查询成果对相应记录进行修改。 删除功能:重要完毕商品信息删除。先输入商品类别,再输入要删除商品名称,依照查询成果删除该物品记录,如果该商品不在物品库中,则提示“该商品不存在”。 (3)记录功能。 输出当前库存中所有商品总数及详细信息;可按商品价格、库存量、生产厂家进行记录。 第二章 系统分析与设计 2.1 软件界面设计 图2.11 图2.12 2.2 软件数据(构造)设计 本系统运用了#include<iostream>、#include<string>、#include<fstream>、#include<sstream>四个包头文献。并将食品、化妆品、日用品、饮料信息分别保存在四个文本文献food.txt、cosmetics.txt、dailyuse.txt、drink.txt中,系统运营时,可以更以便获取信息。 每个文本文献里商品信息分别是商品名称、价格、库存量、生产厂家。四个文本文献内容如下: 图2.21 foods。txt 图2.22 drink.txt 图2.23 dailyuse.txt 图2.24 cosmetics.txt 2.3 软件算法设计 主菜单 选取 保存 显示 记录 添加 删除 修改 查询 销售 饮料 日用品 化妆品 食品 按名称查找 按类别查找 图2.31 查询 销售 名称 类别 选取类别 选取 选取名称 输入名称 购买数量 查询成功 超过库 存数量 库存 有货 销售成功 图2.33 图2.32 删除/添加 修改 选取类别 选取类别 输入名称 输入修改名称 内容 选取内容 无 无 此 此 商 商 删除/添加 内容 输入修改内容 品 品 结束 修改结束 图2.34 图2.35 第三章 软件实现 (1)类实现 class goods { public: void read(string h); void display(); void searchnumber(); void xiugainame(string x){name=x;}//修改名称 void xiugaiprice(string x){price=x;}//修改价格 void xiugaicount(int x){count=x;}//修改库存量 void xiugaichangjia(string x){changjia=x;}//修改生产厂家 string name;//名称 string price;//价格 int count;//库存量 string changjia;//生产厂家 }; void goods ::read(string h) { istringstream strin(h); strin>>name>>price>>count>>changjia; } void goods ::display() { cout<<name<<"\t "<<price<<"\t "<<count<<" \t"<<changjia<<"\t "<<endl; } 定义了一种goods商品类,类里面只具有共有成员,涉及变量name(名称)、price(价格)、count(库存量)和changjia(生产厂家)以及几种重要函数。 (2)文献读取 goods *per1; per1=new goods [200]; ifstream fin1("foods.txt"); while(getline(fin1,buff)) { per1[p1].read(buff); p1++; } 运用了#include<sstream>包头文献 从文本文献中读取字符到对象中,再把对象作为程序输入流,既可把从文献中读取来数字字符单个进行读取,从而进行解决。 这里只是对foods文本文献读取。别的三个文本文献操作代码类同。 (3)文献保存 ofstream pout1("foods.txt"); for(j1=0;j1<p1;j1++) { pout1<<"\t\t"<<per1[j1].name<<"\t"<<per1[j1].price<<"\t"<<per1[j1].count<<" \t"<<per1[j1].changjia<<"\n"; } pout1.close() 通过ofstream将变化了信息写入文献中。 (4)商品销售功能实现 void xiaoshou_goods(int p,goods *per) { int count,count1;string price,name,changjia; cin>>name; for(int j=0;j<p;j++) { if(per[j].name==name) { cout<<"销售商品信息为:"<<endl; print(); cout<<"\t\t"<<per[j].name<<"\t"<<per[j].price<<"\t "<<per[j].count<<"\t "<<per[j].changjia<<"\n";break; } } if(j==p) { cout<<"\n对不起,未找到名称为"<<name<<"商品"; } else { int h=0; while(h==0) { cout<<"请输入销售库存量(件):"; cin>>count1; if(panduan(count1,p,j,per)) { per[j].count-=count1; cout<<"购买成功!!"<<endl; h=1;break; } else cout<<"库存量局限性!请重新输入销售库存量:"<<endl; } } } bool panduan(int s,int p,int j,goods*per) { if(s<=per[j].count) return true; else return false; } 商品销售实现运用了两个函数来实现,通过查找,找到需要销售商品。然后通过另一种判断函数判断购买件数是不是少于库存量,若多余库存量则重新购买。 (5)商品查找功能实现 cout<<"\n\t================= 查找商品信息=====================\n\n"; cout<<"\t"<<"1按类别查找 2按名称查找 <请选取>:"; cin>>b; switch(b) { case '1': cout<<"请选取 : 1食品 2化妆品 3日用品 4饮料"<<endl; cin>>c; switch(c) { case '1': print(); for(j1=0;j1<p1;j1++) per1[j1].display();break; case '2': .................; break; case '3': .................; break; case '4': .................; break; default: cout<<"\n输入有误!";break; } break; case '2': cout<<"请输入名称 :"; cin>>name; for(j=0;j<150;j++) { if(per1[j].name==name) { name="1"; break; } if(per2[j].name==name) {…………… } if(per3[j].name==name){……………} if(per4[j].name==name) {…………… } else continue; } if(name=="1") { print(); cout<<"\t\t"<<per1[j].name<<"\t"<<per1[j].price<<"\t "<<per1[j].count<<"\t "<<per1[j].changjia<<"\n"; break;} if(name=="2" ){………………} if(name=="3" ){……………} if(name=="4") {……………} else { cout<<"没关于于该商品信息!"; }break; } cout<<"\n"<<"请按任意键返回主菜单!"; cin>>z; } 查找功能实当代码直接写在主函数里面,通过switch选取是通过类别查找还是名称查找。若通过类别查找只能查找一种类别里所有商品。而通过名称查找可以查看单个商品信息。 (6)商品删除功能实现 cout<<"请输入要删除食品名称:"; cin>>name; for(j=0;j<p1;j++) { if(name==per1[j].name) { break; } } if(j==p1) { cout<<"\n对不起,未找到名称为"<<name<<"商品"; cout<<"\n\n请输入任意键点回车键返回!"; cin>>z; } else { while(j!=p1) { per1[j]=per1[j+1]; j++; } p1--; cout<<"删除成功!"<<endl; } 删除商品功能代码写在主函数里面。一方面选取删除商品类型。此处代码为删除类型为食品商品。一方面系统会依照你输入需要删除商品进行查找,若无此商品,系统将给出提示,若有此商品,系统将成功删除该商品。 (7)商品修改功能实现 void change_goods(int p,goods *per) { char c; string price,name,changjia; int count; cin>>name; for(int j=0;j<p;j++) { if(per[j].name==name) { name="0"; break; } else continue; } if(name=="0") { cout<<"\n"<<"名称为"<<per[j].name<<"商品信息:\n"; print(); per[j].display(); cout<<"请选取要修改商品信息<1名称 2价格 3库存 4生产厂家>:"; cin>>c; switch(c) { case '1': cout<<"请输入修改后名称:"; cin>>name; per[j].xiugainame(name); cout<<"修改后商品信息为:"<<endl; per[j].display(); break; case '2': ………………break; case '3': ………………break; case '4': ………………break; default:cout<<"输入有误!";break; } } else cout<<"\n没有该商品!"; } 通过一种函数来实现商品修改,选取修改内容对商品进行修改。 (8)商品添加功能实现 cout<<"\n\t================ 添加商品信息 ===================\n\n"; cout<<"请选取添加类型 : 1食品 2化妆品 3日用品 4饮料"<<endl; cin>>c; switch(c) { case'1': cout<<"名称:";cin>>per1[p1].name; cout<<"价格:";cin>>per1[p1].price; cout<<"库存:";cin>>per1[p1].count; cout<<"生产厂家:";cin>>per1[p1].changjia; cout<<"你添加商品信息为:"<<endl; print(); cout<<"\t\t"<<per1[p1].name<<"\t"<<per1[p1].price<<"\t "<<per1[p1].count<<" \t"<<per1[p1].changjia<<"\n";p1++; break; case'2':………………..break; case'3':………………..break; case'4':………………..break; default:cout<<"\n输入有误!";break; } cout<<"\n"<<"请按任意键返回主菜单!"; cin>>z; 商品添加代码是直接写在主函数里面。依照你添加商品选取商品类型,依照提示输入添加商品有关信息。 (9)商品记录功能实现 void tongji_goods(int p,goods *per) { string price,name,changjia; int count; goods t; for(int i=0;i<p-1;i++) { for(int j=0;j<p-1;j++) { if(per[j].count<per[j+1].count) { t=per[j]; per[j]=per[j+1]; per[j+1]=t; } } } print(); for(int j=0;j<p;j++) per[j].display(); } 运用了冒泡排序办法对商品中各类库存量多少进行排序,库存量多商品排在前面。 第四章 软件测试 1. 商品销售: 图4.1 销售yumi 图4.2yumi库存量 2. 商品查询: 图4.3按类别查找 图4.4按名称baobao查找 3. 商品删除: 图4.5删除yumi信息 4. 商品添加: 图4.5添加bibi商品 5. 商品修改: 图4.6将shui价格改为8$ 6.商品记录: 图4.7 各类商品排序 6. 商品修改信息保存: 图4.8信息保存 第五章 软件使用阐明书 该商品管理操作系统重要是在界面内选取需要功能,依照系统界面提示,选取需要进行操作。一方面进入界面将看到内容是: 图5.1 然后依照提示按任意键,再按回车键后就能进入商品管理各项操作功能选取菜单,重要有如下几种操作:销售、查询、添加、删除、修改、记录、显示。 图5.2 依照菜单提示,选取所要进行操作。例如选取销售功能,就输入”销售”前面菜单编号A或者a 。进入销售管理系统,再依照界面提示选取接下来每一步操作。 不论进入了哪一种界面,系统都会给出相应界面关于提示,只要依照提示进行每一步操作,就能对的使用该管理系统。 道谢 非常感谢裴教师、伍教师、焦教师、陈教师指引,尚有我室友和同窗协助,谢谢!. 签名 日期 1月16日 参照文献 [1]Richard Johnsonbaugh. Martin Kalin.《面向对象程序设计—C++语言描述》.机械工业出版社. [2]钱能.《C++语言程序设计教程》.清华大学出版社.- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 商品 标准 管理 专业 系统 设计 C+
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文