版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
年4月19日商品销售管理及管理知识课程设计说明书文档仅供参考课程设计说明书(论文)题目小型超市商品销售管理系统课程名称面向对象程序设计院(系、部、中心)专业班级学生姓名学号设计地点指导教师目录课程设计任务书 21功能描述 72概要设计 72.1类的设计 72.2流程图 83详细设计 114效果及存在问题 234.1效果截屏 234.2存在问题 275心得体会 286参考文献 28课程设计任务书课程名称面向对象程序设计院(系、部、中心)专业班级起止日期指导教师
1.课程设计应达到的目的经过课程设计加深理解课堂教学内容,熟练掌握C++语言的基本知识和技能;掌握面向对象程序设计的基本思路和方法;掌握指针、类的封装与继承、文件的打开和保存、链表应用;利用所学的基本知识和技能,解决面向对象程序设计问题。培养分析、解决问题的能力;提高学生的科技论文写作能力。2.课程设计题目及要求题目:小型超市商品销售管理系统要求:某小型超市销售的商品有四类:食品、化妆品、生活用品和饮料。每类商品都有商品名和商品利润。每类商品还有区别于其它类的特殊信息,例如食品有批发商,化妆品有品牌,饮料有生产厂家。本系统完成如下功能:输入商品的基本信息。根据商品名查询某个商品的情况。计算并显示商品的利润。3.课程设计任务及工作量的要求〔包括课程设计计算说明书、图纸、实物样品等要求〕(1)分析系统中的各个实体之间的关系及其属性和行为。(2)根据问题描述,设计系统的类层次,完成类层次中各个类的描述(包括属性和方法),完成类中各个成员函数的定义。(3)完成系统的应用模块,进行功能调试。(4)系统设计要实用,编程简练,功能全面。程序中要有异常处理。(5)界面设计要以用户为中心,操作方便、美观大方。(要有选择性提示)(6)按照课程设计说明书的格式规范撰写课程设计说明书,其中正文包括:①功能描述:对系统要实现的功能进行简明扼要的描述。②概要设计:根据功能描述,建立系统的体系结构,即将整个系统分解成若干子功能模块,并用框图表示各功能模块之间的衔接关系,并简要说明各模块的功能。③详细设计:详细说明各功能模块的实现过程,所用到的类的层次图(包括类成员列表)、算法、技巧等。④效果及存在问题:说明系统的运行效果(附上运行界面图片)、存在哪些不足以及预期的解决办法。⑤心得体会:谈谈自己在课程设计过程中的心得体会。(7)课程设计说明书用A4纸统一打印,装订按学校的统一要求完成。(8)课程设计的程序以软盘形式上交,文件夹名称为学生姓名及学号的组合。未经指导教师许可或无故不到者,缺勤率达50%的学生不能参加答辩。答辩时,设计者在5分钟内阐述自己的设计过程和最终结果,突出设计中遇到的主要问题和解决方法,然后回答教师提问。每位学生答辩总时间一般不超过15分钟。4.主要参考文献[1]谭浩强.C++程序设计[M].北京:清华大学出版社,.[2]吴乃陵.C++程序设计实践教程[M].北京:高等教育出版社,.[3]谭浩强.C++程序设计题解与上机指导[M].北京:清华大学出版社,1999.[4]廖雷,罗代忠.C语言程序设计基础实验教程.北京:高等教育出版社,.5.课程设计进度安排起止日期工作内容12月12月12月12月12月12月12月熟悉任务,算法设计软件设计软件设计软件调试软件调试软件联合调试考核6.成绩考核办法课程设计成绩的评定:根据设计的完成情况、程序的编制质量、独立设计能力以及答辩情况综合衡量,由答辩小组讨论决定。原则上按以下公式计算:课程设计成绩=工作表现×30%+设计成果×40%+考核测评×30%工作表现:独立工作能力及设计过程的表现。占总成绩的30%。设计成果:设计说明书(计算书、论文)、图纸、程序、作品等的质量。占总成绩的40%。考核测评:课程设计结束前,指导教师应采用考试或答辩等形式对所指导的学生进行测评。测评成绩占总成绩的30%。有创新的同学根据具体情况适当加分。教研室审查意见: 教研室主任签字:年月日院(系、部、中心)意见:主管领导签字:年月日功能描述某小型公司,主要有四类人员:经理、兼职技术人员、销售经理和兼职推销员。现在,需要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部信息。要求:(1)其中,人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。(2)程序对所有人员有提升级别的功能(3)月薪的计算方法是:经理拿固定月薪,兼职技术人员按工作小时数领取月薪,兼职推销员的报酬按该推销员当月销售额提成,销售经理既拿固定月薪也领取销售提成。(4)能按姓名或者编号显示、查找、增加、删除和保存各类人员的信息。二.概要设计2.1类的设计2.2流程图(1)主函数流程图(2)添加函数(左图)和删除函数(右图)的流程图(3)查询函数流程图三.详细设计1.主函数设计#include<iostream.h>#include<conio.h>#include<stdio.h>#include<process.h>#include<fstream.h>#include<string.h>#include<dos.h>voidmain(){system("cls");cout<<"\n\n\n\n\t\t********************************************\n"<<"\t\t**\n"<<"\t\t**\n"<<"\t\t*欢迎使用小型超市商品销售管理系统(HYY)*\n"<<"\t\t**\n"<<"\t\t*Desinedby韩永扬*\n"<<"\t\t**\n"<<"\t\t*(按任意键进入)*\n"<<"\t\t**\n"<<"\t\t**\n"<<"\t\t********************************************\n"<<endl;getch();foodf;makeupm;drinkd;livel;while(1){A:system("cls");intchoice;intx;cout<<"\n\n\t\t\t\t主菜单"<<"\n\n\t\t\t\t(1)添加商品品种\n"<<"\n\t\t\t\t(2)查询商品\n" <<"\n\t\t\t\t(3)删除商品"<<"\n\n\t\t\t\t(4)退出"<<"\n\n\n请选择:";cin>>x;switch(x){case1:{system("cls");cout<<"\n\n\n\n\n\n\t\t请选择添加哪一类:"<<"\n\n\t\t\t\t(1)食品类"<<"\n\t\t\t\t(2)化妆品类"<<"\n\t\t\t\t(3)饮料类"<<"\n\t\t\t\t(4)生活用品类"<<"\n\t\t\t\t(5)返回"<<endl; cin>>choice; switch(choice) {case1:system("cls"); f.addf(); break; case2: system("cls"); m.addm(); break; case3:system("cls"); d.addd(); break; case4:system("cls"); l.addl(); break; case5:system("cls");break; } break;} case2:{system("cls"); cout<<"\n\n\n\n\n\n\t\t请选择查询哪一类:"<<"\n\n\t\t\t\t(1)食品类"<<"\n\t\t\t\t(2)化妆品类"<<"\n\t\t\t\t(3)饮料类"<<"\n\t\t\t\t(4)生活用品类"<<"\n\t\t\t\t(5)返回"<<endl; cin>>choice; switch(choice) {case1:system("cls"); f.searchf(); break; case2:system("cls"); m.searchm(); break; case3:system("cls"); d.searchd(); break; case4:system("cls"); l.searchl(); break;case5:system("cls");break; } break; } case3: {system("cls");cout<<"\n\n\n\n\n\n\t\t请选择删除哪一类:"<<"\n\n\t\t\t\t(1)食品类"<<"\n\t\t\t\t(2)化妆品类"<<"\n\t\t\t\t(3)饮料类"<<"\n\t\t\t\t(4)生活用品类"<<"\n\t\t\t\t(5)返回"<<endl; cin>>choice; switch(choice) {case1:system("cls"); f.removef(); break; case2:system("cls"); m.removem(); break; case3:system("cls"); d.removed(); break; case4:system("cls"); l.removel(); break; case5:system("cls");break; } break;} case4: {system("cls"); cout<<"\n\n\n\n\n\n\t\t\t\t谢谢使用!"<<"\n\n\t\t\t\t再见!\n"; exit(1); } break;default: {cout<<"输入有误,请重选!"; gotoA; }}}}上面即为主函数,经过switch语句来选择操作:添加,查询,删除,退出。在每项操作中又用switch语句来选择对哪一类商品进行操作,分别有食品,化妆品,饮料,生活用品四类。该函数没有把”显示商品利润”作为一项单独操作,而是把该功能加进了”查询”操作中,查询的同时直接显示商品利润。2.商品基类设计classspbase{public:intt;floatoprice; floatiprice; floatprof; intquantity; charname[10];voidgetdate(); voidshowdate(); voidadd(); voidsearch(); voidremove(); intgett(){returnt;}; };voidspbase::getdate()//输入函数的设计{cout<<"\n\t\t请输入商品名称:";cin>>name;cout<<"\n\t\t请输入商品售价:";cin>>oprice;cout<<"\n\t\t请输入商品进价:";cin>>iprice;cout<<"\n\t\t请输入商品库存量:";cin>>quantity;}voidspbase::showdate()//输出函数的设计{cout<<"\n\n商品基本信息如下:";cout<<"\n\n\t\t商品名称:";cout<<name;cout<<"\n\n\t\t商品售价:";cout<<oprice;cout<<"\n\n\t\t商品进价:";cout<<iprice;cout<<"\n\n\t\t商品库存量:";cout<<quantity;prof=(oprice-iprice)*quantity;cout<<"\n\n\t\t商品利润为:";cout<<prof;}voidspbase::add()//添加函数的设计{t=1; ofstreamfile("HYY.txt",ios::out|ios::ate);if(!file){cout<<"文件打开失败!";getch();exit(1);}spbasep1;p1.getdate();file.write(reinterpret_cast<char*>(&p1),sizeof(spbase));//reinterpret_cast强制转换file.close();}voidspbase::search()//查询函数的设计{charname4[10];cout<<"\n请输入生活用品名称:";cin>>name4;fstreamfile("HYY.txt",ios::in);if(!file){cout<<"文件打开失败!";getch();exit(1);}charflag='a';//设标志位spbasep1;file.read(reinterpret_cast<char*>(&p1),sizeof(spbase));while(!file.eof())//正确显示,指针还没到末尾继续{if((strcmp(,name4)==0)&&gett()){p1.showdate();getch();flag='z';break;}file.read(reinterpret_cast<char*>(&p1),sizeof(spbase));}if(flag!='z'){cout<<("该商品已被删除!");getch();}file.close();}voidspbase::remove()//删除函数的设计{t=0;search();}3.食品类设计(food)classfood:publicspbase{private:charpfs[10];public: voidgetdatef() {spbase::getdate(); cout<<"\n\t\t请输入商品批发商:"; cin>>pfs; } voidshowdatef() {spbase::showdate(); cout<<"\n\n\t\t商品批发商:"; cout<<pfs; }voidaddf() {t=1; ofstreamfile("HYY1.txt",ios::out|ios::ate);if(!file) {cout<<"文件打开失败!";getch();exit(1); }foodf;f.getdatef();file.write(reinterpret_cast<char*>(&f),sizeof(food));file.close(); }voidsearchf() {charname1[10]; cout<<"\n请输入食品名称:";cin>>name1; fstreamfile("HYY1.txt",ios::in);if(!file) {cout<<"文件打开失败!";getch();exit(1); }charflag='a';foodf;file.read(reinterpret_cast<char*>(&f),sizeof(food));while(!file.eof()) {if((strcmp(,name1)==0)&&gett()) {f.showdatef();getch();flag='z';break; }file.read(reinterpret_cast<char*>(&f),sizeof(food)); }if(flag!='z') {cout<<("该商品已被删除!");getch(); }file.close(); }voidremovef() {t=0;searchf();} };4.化妆品类设计(makeup)classmakeup:publicspbase{private:charpp[10];public: voidgetdatem() {spbase::getdate(); cout<<"\n\t\t请输入商品品牌:"; cin>>pp; } voidshowdatem() {spbase::showdate(); cout<<"\n\n\t\t商品品牌:"; cout<<pp; }voidaddm() {t=1; ofstreamfile("HYY2.txt",ios::out|ios::ate);if(!file) {cout<<"文件打开失败!";getch();exit(1); }makeupm;m.getdatem();file.write(reinterpret_cast<char*>(&m),sizeof(makeup));file.close(); }voidsearchm() {charname2[10]; cout<<"\n请输入化妆品名称:";cin>>name2; fstreamfile("HYY2.txt",ios::in);if(!file) {cout<<"文件打开失败!";getch();exit(1); }charflag='a';makeupm;file.read(reinterpret_cast<char*>(&m),sizeof(makeup));while(!file.eof()) {if((strcmp(,name2)==0)) {m.showdatem();getch();flag='z';break; }file.read(reinterpret_cast<char*>(&m),sizeof(makeup)); }if(flag!='z') {cout<<("该商品已被删除!");getch(); }file.close(); }voidremovem() {t=0;searchm();}};5.饮料类设计(drink)classdrink:publicspbase{private:charfactory[10];public: voidgetdated() {spbase::getdate(); cout<<"\n\t\t请输入商品生产厂家:"; cin>>factory; } voidshowdated() {spbase::showdate(); cout<<"\n\n\t\t商品生产厂家:"; cout<<factory; }voidaddd() {t=1; ofstreamfile("HYY3.txt",ios::out|ios::ate);if(!file) {cout<<"文件打开失败!";getch();exit(1); }drinkd;d.getdated();file.write(reinterpret_cast<char*>(&d),sizeof(drink));file.close(); }voidsearchd() {charname3[10]; cout<<"\n请输入饮料名称:";cin>>name3; fstreamfile("HYY3.txt",ios::in);if(!file) {cout<<"文件打开失败!";getch();exit(1); }charflag='a';drinkd;file.read(reinterpret_cast<char*>(&d),sizeof(drink));while(!file.eof()) {if((strcmp(,name3)==0)) {d.showdated();getch();flag='z';break; }file.read(reinterpret_cast<char*>(&d),sizeof(drink)); }if(flag!='z') {cout<<("该商品已被删除!");getch(); }file.close(); }voidremoved() {t=0;searchd();} };6.生活用品类设计(live)classlive:publicspbase{public: voidgetdatel() {spbase::getdate(); } voidshowdatel() {spbase::showdate(); }voidaddl() {spbase::add(); }voidsearchl() {spbase::search();}voidremovel() {spbase::remove();} };四.效果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省常德市2024-2025学年三年级上学期11月期中英语试题
- DB11T 1126-2014 实验动物垫料
- 职业卫生和放射卫生国家随机监督抽查计划
- 海南省琼中黎族苗族自治县2024-2025学年七年级上学期期中地理试题(含答案)
- 职业学院通信技术专业人才培养方案
- 吊椅缆车市场需求与消费特点分析
- 人工日光浴晒黑服务行业相关项目经营管理报告
- 人教版英语八年级下册 Unit 1 Section B (3a-SC)随堂练习
- 人教版八年级下册 Section A 单词短语专练(2课时)
- 基因疗法研究行业市场调研分析报告
- 神经外科运用PDCA对危重患者晨间床旁交接班不完整原因分析品管圈鱼骨图柏拉图对策拟定
- 6.3∕ 8.1∕ 8.5.6-质量管理体系要求-“质量管理体系与运行(生产服务提供)变更管理”条文理解与实施指导材料(雷泽佳编制-2023)
- 王戎不取道旁李-“江南联赛”一等奖
- 大班绘本阅读《糊涂熊队划不快》
- 学校田径运动会所需各表格(团体总分记录表-径赛检录表-径赛计时表-终点名次报告表-田赛远度表)等
- 国开2023春《管理学基础》专科形考作业一~四参考答案
- 2023年国开大学期末考复习题-02316-中级财务会计(一)
- 【护理学个案护理论文:一例溃疡性结肠炎患者的护理5600字】
- 机场航站楼及跑道扩建工程施工组织设计方案
- 教育政策与法规全套完整教学课件
- GPS测量与数据处理完整整套教学课件
评论
0/150
提交评论