欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    面向对象程序设计A课程设计10686.pdf

    • 资源ID:84940649       资源大小:1.15MB        全文页数:32页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    面向对象程序设计A课程设计10686.pdf

    面向对象程序课程设计(2017/2018 学年第二学期第 17 周)指导教师:XXX 班级:XXX 学号:XXXX 姓名:XXX 面向对象程序课程设计任务书 【题目】自助点餐系统 【目的】通过设计一个小型的自助点餐系统,训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念,使自己的程序设计与调试水平有一个明显的提高。【要求】1、每个学生必须独立完成;2、课程设计时间为 1 周;3、设计语言采用 C+;4、学生有事离校必须请假。课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,未按规定上交实验报告的学生,其成绩按不及格处理。【内容简介】有一个小型餐厅,现在这个餐厅打算使用自助点餐系统,方便顾客自己点餐,并提供对餐厅销售情况的统计和管理功能。【考核标准】该系统为两种角色的用户提供服务,一种是餐厅管理员,一种是顾客。餐厅管理员根据账号、密码登录系统。顾客无需登录即可使用系统。1、顾客通过该餐厅在系统中提供的菜单为自己点餐,菜单以文件形式保存。系统能够根据顾客的要求正确打出订单,订单内容包括订单编号、菜品名称、每个菜品的价格、份数、折扣等;订单分两种,一种是在店消费,在店消费要求包括餐桌号,是否有包厢费,另一种是外卖,外卖要求包括送餐时间,送餐地点,客户手机号,外卖服务费。(要求用继承和多态实现),成绩60;2、系统退出后能保存当天的订单信息,要求每天一个文档,文档名按照日期命名。餐厅管理员可以根据订单编号查找删除修改某个订单,订单可以按照下单时间先后排序,成绩70;3、能够实现对餐厅菜式和价格的管理,包括对菜品和对应价格的增加、修改、删除、查找,折扣的设置,成绩80;4、系统可根据历史记录对销售情况进行统计,根据餐厅管理员的输入日期统计某天的销售情况并显示(包括一共接了多少单,销售额是多少,各个菜品的销售情况,外卖和在店销售的占比),成绩90;要求:用面向对象的程序设计方法设计该系统。本系统涉及的基本对象有订单对象(包括外卖订单和在店消费订单)、订单管理对象、菜单对象、菜品对象、菜品管理对象、系统界面。实现对这些对象的合理抽象和封装,正确定义类之间的关系。界面合理,代码文件组织清晰,命名符合规范,代码注释清楚,课程设计报告质量高。面向对象程序课程设计 目 录 一、题目 有一个小型餐厅,现在这个餐厅打算使用自助点餐系统,方便顾客自己点餐,并提供对餐厅销售情况的统计和管理功能。二、需求分析 有一个小型餐厅,该餐厅提供即时就餐和外卖服务。方便顾客自己点餐,并提供对餐厅销售情况的统计和管理功能。1、根据顾客的选择正确打出订单。2、统计出每一天的订单并将之保存在文件中。3、可以通过管理员功能对订单,菜品等进行操作。三、系统结构图 四、类的设计 五、程序代码与说明#ifndef Face_h#define Face_h#include class Face private:OrderMana shard;public:void start();理员ttt endl;cout ttt2.顾客ttt endl;cout _ m;if(m=1)Adm();int i;cin i;switch(i)case 1:AdmOrder();break;case 2:AdmVege();break;case 3:AdmSell();break;case 4:break;else client();找修改删除订单 endl;cout ttt2.菜式和价格的管理 endl;cout ttt3.查看销售情况 endl;cout ttt4.退出 endl;cout _ i;switch(i)case 1:AdmOrder();break;case 2:AdmVege();break;case 3:AdmSell();break;case 4:start();break;start();找订单 endl;cout ttt2.修改订单 endl;cout ttt3.删除订单 endl;cout ttt4.退出 endl;cout _ i;switch(i)case 1:AdmOrderI();break;case 2:AdmOrderII();break;case 3:AdmOrderIII();break;case 4:Adm1();break;Adm1();加菜品 endl;cout ttt2.修改菜品 endl;cout ttt3.删除菜品 endl;cout ttt4.查找菜品 endl;cout ttt5.设置折扣 endl;cout ttt6.退出 endl;cout _ i;switch(i)case 1:AdmVegeI();break;case 2:AdmVegeII();break;case 3:AdmVegeIII();break;case 4:AdmVegeV();break;case 5:AdmVegeVI();break;case 6:Adm1();break;Adm1();xt;OrderMana pe;(day);cout 订单数:()endl;cout 销售额:()endl;cout 外卖和在店销售的占比:()endl;Adm1();卖 endl;cout ttt2.在店消费 i;if(i=1)string time,address,phone;cout 请输入送餐时间:time;cout 请输入送餐地点:address;cout 请输入手机号:phone;number=();cout ttt外卖 endl;cout ttt编号:number endl;cout 送餐时间:time t送餐地点:address t客户手机号:phone endl;cout 菜品tt价格tt份数tt折扣 endl;();list:iterator it;for(it=it!=it+)money=(*it)-getmoney()*(*it)-getnum()*(*it)-getdiscount()*+money;cout 总价:money+5 元 endl;(&pe,time,address,phone,number);else if(i=2)cout i;bool r=0;if(i=是)r=1;int c;srand(unsigned)time(NULL);c=rand()%(50-1);number=();cout ttt在店消费 endl;cout ttt订单编号:number endl;cout 包厢费:(int)r*50 元 endl;cout 座位号:c endl;cout 菜品tt价格tt份数tt折扣 endl;();list:iterator it;for(it=it!=it+)money=(*it)-getmoney()*(*it)-getnum()*(*it)-getdiscount()*+money;cout 总价:money+(int)r*50 元 endl;(&pe,r,c,number);start();xt,ios:trunc);for(it=it!=it+)outDate getname()tt getmoney()tt getdiscount()endl;();cout 添加成功 endl;AdmVege();xt,ios:trunc);for(it=it!=it+)outDate getname()tt getmoney()tt getdiscount()endl;();cout 修改成功 endl;AdmVege();xt,ios:trunc);for(it=it!=it+)outDate getname()tt getmoney()tt getdiscount()endl;();cout 删除成功 endl;AdmVege();xt,ios:trunc);for(it=it!=it+)outDate getname()tt getmoney()tt getdiscount()endl;();cout 修改成功 endl;AdmVege();xt;cout numble;OrderMana pe;(day);(numble);AdmOrder();xt;cout numble;OrderMana pe;(day);xt;cout numble;OrderMana pe;(day);ofstream outDate(day,ios:trunc);list:iterator it;for(it=it!=it+)if(*it)-getKind()=外卖)outDate ttt外卖 endl;outDate ttt编号 getNumble()endl;outDate 送餐时间:getTim()t送餐地点:getAddress()t客户手机号:getphone()endl;outDate 菜品tt价格tt份数tt折扣 endl;list:iterator I;for(I=(*it)-();I!=(*it)-();it+)outDate getname()tt getmoney()tt getnum()ttgetdiscount()endl;outDate 总价:getAllmoney()元 endl;else outDate ttt在店消费 endl;outDate ttt订单编号:getNumble()endl;outDate 包厢费:getA()*50 元 endl;outDate 座位号:getTable()endl;outDate 菜品tt价格tt份数tt折扣 endl;list:iterator I;for(I=(*it)-();I!=(*it)-();it+)outDate getname()tt getmoney()tt getnum()tt getdiscount()endl;outDate 总价:getAllmoney()元 endl;();cout 删除成功 endl;#include#include#include#include#include using namespace std;void main()Face re;();#include Mana:Mana(string numble,string kind,string tim,string address,string phone)this-Numble=numble;this-kind=kind;this-tim=tim;this-address=address;this-phone=phone;Mana:Mana(string numble,string kind,int table,bool a)this-Numble=numble;this-kind=kind;this-table=table;this-a=a;void Mana:setAllmoney(int money)Allmoney=money;void Mana:insert(string Vege,double money,int num,double discount)list:iterator it;*it=new Vegetalbe(Vege,money,num,discount);(*it);#include#include#include#include using namespace std;xt);string name;double money;double discount;infile name money discount;p=new Vegetalbe(name,money,discount);while(!()(p);infile name money discount;p=new Vegetalbe(name,money,discount);();void Menu:pushnew(Vegetalbe&b)p=&b;(p);string Menu:number()time_t t=time(0);char tmp32=NULL;strftime(tmp,sizeof(tmp),%Y%m%d%H%M%S,localtime(&t);return tmp;void Menu:dleinsert(string Vege)list:iterator it;for(it=();it!=();it+)if(*it)-getname()!=Vege)(*it);void Menu:insert(string Vege,double money,int num,double discount)list:iterator it;*it=new Vegetalbe(Vege,money,num,discount);(*it);Menu:Menu()list:iterator it;for(it=();it!=();it+)delete*it;for(it=();it!=();it+)delete*it;#include#include using namespace std;Order:Order(string account,string code)this-account=account;this-code=code;bool Order:judge()bool T=0;ifstream infile(D:管理员账号.txt);string Account,Code;while(!()infile Account Code;if(this-account=Account)|(this-code=Code)T=1;break;();return T;#include#include#include#include using namespace std;xt;ofstream outDate(day,ios:app);double money=0;outDate endl ttt外卖 endl;outDate ttt订单编号 number endl;outDate 送餐时间 tim t送餐地点 address t客户手机号 phone endl;list:iterator it;for(it=p-();it!=p-();it+)outDate getname()tt getmoney()tt getnum()tt getdiscount()getmoney()*(*it)-getnum()*(*it)-getdiscount()*+money;outDate 总价 money+5endl;();xt;ofstream outDate(day,ios:app);double money=0;outDate endl ttt在店消费 endl;if(a=1)outDate ttt订单编号 number endl;outDate 包厢费 (int)a*50 endl;outDate 座位号 x endl;list:iterator it;for(it=p-();it!=p-();it+)outDate getname()tt getmoney()tt getnum()tt getdiscount()getmoney()*(*it)-getnum()*(*it)-getdiscount()*+money;outDate 总价 money+(int)a*50endl;else outDate ttt订单编号 number endl;outDate 包厢费 (int)a*50 endl;outDate 座位号 x endl;list:iterator it;for(it=p-();it!=p-();it+)outDate getname()tt getmoney()tt getnum()tt getdiscount()getmoney()*(*it)-getnum()*(*it)-getdiscount()*+money;outDate 总价 money+(int)a*50 kind;if(kind=外卖)infile duoyu Numble duoyu tim duoyu address duoyu phone;p=new Mana(Numble,kind,tim,address,phone);while(1)infile name;if(name=总价)infile Allmoney;p-setAllmoney(Allmoney);(p);BossMoney+=Allmoney;Fre+=1;TakeOut+=1;break;else infile moneyV num discount;p-insert(name,moneyV,num,discount);else if(kind=在店消费)infile duoyu Numble duoyu f duoyu table;a=(bool)(f/50);p=new Mana(Numble,kind,a,table);while(1)infile name;if(name=总价)BossMoney+=Allmoney;infile Allmoney;p-setAllmoney(Allmoney);(p);Fre+=1;InShop+=1;break;else infile moneyV num discount;p-insert(name,moneyV,num,discount);kind=0;();void OrderMana:findMana(string numble)list:iterator it;for(it=();it!=();it+)if(*it)-Numble=numble)pushit(*it);void OrderMana:pushit(Mana*re)if(re-getKind()=外卖)cout ttt外卖 endl;cout ttt编号 getNumble()endl;cout 送餐时间:getTim()t送餐地点:getAddress()t客户手机号:getphone()endl;cout 菜品tt价格tt份数tt折扣 printord();cout 总价:getAllmoney()元 endl;else cout ttt在店消费 endl;cout ttt订单编号:getNumble()endl;cout 包厢费:getA()*50 元 endl;cout 座位号:getTable()endl;cout 菜品tt价格tt份数tt折扣 printord();cout 总价:getAllmoney()元 endl;void OrderMana:dleinsertM(string numble)list:iterator it;for(it=();it!=();it+)if(*it)-getNumble()!=numble)(*it);六、运行结果与分析 顾客先选择菜品,然后选择就餐方式。不同的就餐方式对应不同的输入方式。最后打印订单,显示在控制台上,同时将订单存放入文件中。管理者想要进行操作首先要输入正确的账户密码,然后可对订单菜品进行修改。七、心得与体会 通过设计这个自主点餐系统,我对 C+面向对面的思想和对于类的运用有了更深的理解。编写程序时遇到了各种问题,我通过复习课本上的知识,对于自己所出现的问题逐一解决,巩固了知识点,提升了理论知识的运用能力及解决问题的能力。程序设计和调试程序的能力都有很大的提升。

    注意事项

    本文(面向对象程序设计A课程设计10686.pdf)为本站会员(得**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开