餐饮大众点评_第1页
餐饮大众点评_第2页
餐饮大众点评_第3页
餐饮大众点评_第4页
餐饮大众点评_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

餐饮大众点评1引言本课程是基于广受好评的独立第三方消费点评网站——大众点评网中的餐饮点评系统设计的。大众点评网于2003年4月成立于上海。其一直致力于城市消费体验的沟通和聚合。首创并领导的第三方评论模式已成为互联网的一个新热点。大众点评移动客户端通过移动互联网,结合地理位置以及网友的个性化消费需求,为网友随时随地提供餐饮、购物、休闲娱乐及生活服务等领域的商户信息、消费优惠以及发布消费评价的互动平台,这种贴心的设计使其已成为人们本地生活必备的工具。而其中大众点评网主要致力的餐饮点评服务类尤为大众所喜爱。它做到了使商户中所有的评价信息都来源于大众,服务于大众。每个人都可以自由发表对商户的评论,好则誉之,差则贬之,以此来向大家分享自己的消费心得。它的种种优点使我们对这个评价系统非常感兴趣,所以我们决定选用大众点评网中的餐饮评价模块来作为我们这次课程设计的题目。2需求分析2.1系统功能分析对菜品(餐馆名称、菜系、菜名)进行管理进行评分管理-计算分值、添加评分、添加评价和建议给各种菜打分,包括评分,写评语,写建议菜品排名2.2系统设计目标对菜品(餐馆名称、菜系、菜名)进行管理,根据用户选择,输出当前餐厅的菜系菜名进行评分管理-计算分值、添加评分、添加评价和建议,根据评分的次数和总数计算评分,并根据用户的评分,选择性将评价放入好评,中评或差评中给各种菜打分,包括评分,写评语,写建议给餐厅打分,包括对总体评价,口味,服务,环境的星级打分菜品排名,给所有餐厅根据其总体评价的星级排名,并给餐厅内每道菜按照其评分排名添加商户,在原有餐厅的基础上,添加新的餐厅菜系菜名,并可以对其进行点评,排名餐厅查找,根据用户输入的餐厅名称,输出对应餐厅的菜系菜名3系统设计3.1系统功能设计逛一逛模块功能:查看各个餐馆的菜系菜品,即菜品管理1.1店家模块功能:依次显示所有餐馆名查找模块功能:根据输入的餐馆名称查找相应的餐馆并输出菜品信息热门餐厅模块功能:根据总体评价的排名依次显示餐厅星级,即餐厅排名添加商户模块功能:添加商户,即添加餐馆及其菜系菜名5..菜系模块功能:显示所选餐厅菜系5.1菜名模块功能:显示所选餐厅菜系的所有菜名功能:给单道菜以及其所在餐厅评分功能:显示菜的评价功能:显示菜的建议功能:显示菜在餐厅中的排名功能:退出对单道菜的操作,返回主界面3.2系统工作流程3.3类设计与类结构(小四号宋体加粗)classMenu//菜品类{public:Menu();intRestaurant();〃输出餐馆intStyOfCooking(int);〃输出菜系voidaddRestaurant();〃添加商户stringgetRestaurant(int);〃得到餐馆名称intgetRest(int);//得到餐馆所有菜数目intgetStyoc(int);//得到餐馆所有菜系数目intgetNamoc(int,int);//得到餐馆某一菜系所有菜数目intgeta();〃得到astringgetnam(int,int,int);〃得至U菜名intgetNumOfNam(int,int,int);〃得到菜的编号intgetBeforNam(int); //得到某一餐馆之前所有餐馆共有的菜数目private:staticinta;//餐馆个数intb,c;〃菜系菜名数目intrestaurant,styoc;〃餐馆,菜系编号staticstringrest[100];〃餐馆数组staticstringsty[100][100];〃菜系数组staticstringnam[100][100][100];〃菜名数组};classRemark//评分类{public:Remark();voidChoose(inti);〃选择操作voidRefectory();//餐馆点评intgetrr();//得到rrintgetall();//得到allintgettaste();//得到tasteintgetenvironment();//得到environmentintgetserve();//得到servevoidMark();//菜点评voidEvaluate();//显示评价voidAdvice();//显示建议doublegetRemark();//得到Remarkprotected:intaa,bb,cc,x,rr;〃非常好,很好,好,一般,差的评价次数,总评分,餐厅评价次数doublemark;//菜的分数intall,taste,environment,serve;〃总体评价,口味,环境,服务总分数stringgoodComment[100],mediumComment[100],badComment[100],advice[100];//好评数组,中评数组,差评数组};classReview//点评类{public:Review();voidHot();//热门餐厅voidout(int);//输出星级intallall(int);//餐厅总体评价分数intalltaste(int);//餐厅口味分数intallserve(int);//餐厅服务分数intallenvironment(int);//餐厅环境分数voidAdd();//添加商户intNamOfCooking();//显示菜名voidFind();//查找voidremark();〃点评voidRanking();〃排名private:intxx,yy,zz;〃餐馆,菜系,菜名编号MenumyMenu;//菜品类对象myMenuRemarkmyRemark[100];〃评分类对象数组myRemark[100]};3.4开发与运行环境(小四号宋体加粗)MicrosoftVisualC++6.04设计与实现(1) 界面设计主界面:“逛一逛”界面:“查找”界面:“热门餐厅”界面:“添加商户”界面:单道菜写点评以及对当前菜所在餐厅的评价界面:单道菜的查看评价与建议界面(点评前):单道菜的排名界面(点评前):对单道菜操作的退出界面:(2) 设计每个模块的算法和流程【Review类】private:intxx,yy,zz;//【注释①】MenumyMenu;//菜单类的对象RemarkmyRemark[100];//评分类的对象数组,一个对象对应一道菜public:【构造函数】Review。:进入界面进行各种操作输出标题,提醒用户已进入大众点评。用“while(l)”做一个无限循环来包含函数中其余的内容,在循环的末尾处询问用户是否退出(①是②否),根据用户的输入“cin»j;”来判断是否退出循环“if(j==1)break;”以此实现多次评价,查看,添加商户等功能。循环开头处输出主界面的四个选项“1.逛一逛2.查找3.热门餐厅4.添加商户”。然后执行一个“switch”多分支选择语句。“easel”即选择了主界面中的“逛一逛”,执行私有成员中的Menu类的对象myMenu(以后将直接用myMenu,不再做解释说明)中的两个函数和“NamOfCookingO"函数【注释②】,并将返回值分别赋值给私有成员中的xx,yy,zz【注释①】•然后执行“remark。”函数,进行单个菜的评价等功能。“case2”即选择了主界面中的“查找”,执行“Find()”函数,对用户输入的餐厅进行查找。“case3”即选择了主界面中的“热门餐厅”,执行“Hot()”函数,按餐厅评分排名输出热门餐厅以供用户选。“case4”即选择了主界面中的“添加商户”,执行“Add()”函数,进行餐厅的添加。【成员函数】:remark():对所选的菜进行评价等功能用“while(1)”做一个无限循环来包含函数中其余的内容,在循环的末尾处询问用户是否退出(①后退②退出),根据用户的输入“cin»s;”来判断是否退出循环“if(s==2)break;”以此实现对一道菜多次评价,多种操作的功能在循环内输出“①.写点评②.查看评价③.查看建议④.查看在店中排名⑤.退出”以供用户选择3•将用户的选择存在d中,如果d小于等于3,则执行“myRemark[myMenu.getNumOfNam(xx,yy,zz)-1].Choose(d)”【注释③④】,即根据用户所选,调用评分类中的函数进行选项中的操作如果d等于4,则调用Ranking()函数如果d等于5,则break,退出循环Find():对用户输入的餐厅进行查找让用户输入想要查找的餐厅,将其赋值给refectory执行for循环语句,初始时i=0每循环一次i+1,当输入的餐厅与已有餐厅名字相同时退出循环。即当"myMenu.getRestaurant(i)二二refectory"时【注释③】,执行“break”3•执行if语句,如果上一步中的i小于餐厅的数量“if(i<myMenu.geta())”【注释③】,则将i+1赋值给xx,之后再执行“yy二myMenu.StyOfCooking(xx);zz=NamOfCooking();”,【注释①②】。4•如果没有满足if的条件,则执行else语句,告诉用户没有他要查找的餐厅。NamOfCooking():输出所选餐厅菜系的菜名单目,返回值为用户所选的菜名用for循环语句判断当前这家餐厅所有菜系中共有多少道菜即j的大小2•用for循环语句循环j次,输出这家餐厅的所有菜名及其评分。循环内执行“p=myMenu.getNumOfNam(xx,yy,i+1)-1;cout<<myMenu.getnam(xx-1,yy-1,i)<<""<<myRemark[p].getRemrk()<<"分""【注释③④】Hot():按餐厅的评分排名输出热门餐厅以供用户选择执行for循环语句,将所有餐厅的评分依次放在rank数组里“rank[i]二allall(i)"(allall(x):根据参数x的值返回餐厅评分)运用for循环套嵌,把上述rank数组中的评分数从大到小进行排序再运用for循环套嵌,实现按照评分的排序将餐厅排序,再把排名放在c数组里。实现方法:在循环中加入if语句,如判断排序后的rank数组中的第一个数值与第二家餐厅的评分数值相等,就将数字2放在c数组的第一个成员中。另外,在执行的过程中会存在多家餐厅评分相同的情况,故在执行的if语句中加入一个for循环,判断当前这家餐厅的序号是否已经放入过c数组中,如果已存在过,则不执行上述过程,继续进行循环。如果没存在过,则执行,并跳出单层循环。4•运用单层for循环,根据c数组中的餐厅编号的排名,用“out(x)”函数,依次输出餐厅的星级评分,并将所选的餐厅序号赋值给xx,再执行“yy=myMenu.StyOfCooking(xx)zz=NamOfCooking()”,【注释①②】。allall(x):返回编号为x的餐厅的“总体评价”的分数1•运用for循环,得到餐厅“总体评价”的总评分和总评价次数【注释④】2•运用if语句,判断总评价次数是否为零,若为零,则返回0,即餐厅“总体评价”评分为零。若不为零,则返回总评分除以总评价次数以后的值。alltaste(x):返回编号为x的餐厅的“口味”的分数1•运用for循环,得到餐厅“口味”的总评分和总评价次数【注释④】2•运用if语句,判断评分次数是否为零,若为零,则返回0,即餐厅“口味”评分为零。若不为零,则返回总评分除以总评价次数以后的值。allenvironment(x):返回编号为x的餐厅的“环境”的分数1•运用for循环,得到餐厅“环境”的总评分和总评价次数【注释④】2•运用if语句,判断评分次数是否为零,若为零,则返回0,即餐厅“环境”评分为零。若不为零,则返回总评分除以总评价次数以后的值。allserve(x):返回编号为x的餐厅的“服务”的分数1•运用for循环,得到餐厅“服务”的总评分和总评价次数【注释④】2•运用if语句,判断评分次数是否为零,若为零,则返回0,即餐厅“服务”评分为零。若不为零,则返回总评分除以总评价次数以后的值。out(x):输出参数乂个^,5-x个^运用两个for循环,输出x个^,5-x个Add():添加商户用“while(1)"做一个无限循环来包含函数中其余的内容,在循环的末尾处询问用户是否继续添加商户(①继续添加商户②否),根据用户的输入“cin»i;”来判断是否退出循环“if(i==2)break;”循环内执行myMenu.addRestaurant()函数【注释③】Ranking。:菜排名将c数组用for循环语句赋初值后(为了在之后的操作中判定c数组中的元素是否已赋值),执行for循环语句,将当前根据xx的值得到的餐厅的所有菜的评分依次放在a数组里“a[i]=myRemark[z-1+i].getRemark()"【注释④】运用for循环套嵌,把上述a数组中的评分数从大到小进行排序再运用for循环套嵌,实现c数组中第x个元素的值等于当前餐厅内第x道菜的排名。算法及思路同Hot()函数中第4步类似输出当前菜的排名【注释】:l.xx:用户所选餐厅编号yy:用户所选菜系编号zz:用户所选菜名编号myMenu.Restaurant():输出餐厅单目,返回值为用户所选的餐厅编号myMenu.StyOfCooking(x):输出所选餐厅菜系单目,返回值为用户所选的菜系NamOfCooking():输出所选餐厅菜系的菜名单目,返回值为用户所选的菜名myMenu.geta():得到myMenu对象中所有餐厅的总数量myMenu.getBeforNam(x):返回编号为x的餐厅之前所有菜名的数目myMenu.getRest(x):返回编号为x的餐厅拥有菜名的数目myMenu.addRestaurant():添加商户myMenu.getnam(x,y,z):返回编号为x的餐厅中编号为y的菜系中编号为z的菜的名称myMenu.getNumOfNam(x,y,z):返回值为编号为x的餐厅中编号为y的菜系中编号为z的菜在所有菜中的序号,即在Remark类中拥有100个成员的myRemark对象数组中的成元序号myRemark[i].getall():返回在评价当前菜时评价所在餐厅的“总体评价”的分数myRemark[i].getrr():返回在评价当前菜时评价所在餐厅的次数myRemark[i].Choose(x):根据用户的选择进行写点评、查看评价等操作测试与运行结果测试菜品管理功能(逛一逛):测试查找功能(查找):查找到:未查找到:测试添加商户功能(添加商户):添加“甜甜屋”商户后:测试对单道菜的操作功能(写点评、查看评价、查看建议、查看排名)写点评:添加评价后查看评价,查看建议:添加评价后,查看在店中排名:测试对单道菜操作的退出功能(退出):选择,否:选择,是:测试对餐厅进行评分:对餐厅评价:评价后餐厅的星级与排名5结语5.1结论与讨论为了完成这次大众点评餐饮类点评系统的设计,我们查阅了很多资料,并参考了大众点评网的界面,从最开始的只有点评功能增加到可以添加商户、餐厅评分,将评价归类等许多功能,这个过程让我们受益良多,也渐渐发现了程序实现功能时的趣味性,让我们拥有了想要实现更多功能的想法,比如对单道菜和餐厅同时赋予分数和星级的形式。最开始将所有类联系在一起我们采取的是继承的方式,之后经过讨论发现这种做法并不能很好的实现联系,所以我们采取了做成私有成员的形式,基本实现了这次课设的目标。5.2设计体会通过课程设计的训练,我进一步学习和掌握了对程序的设计和编写,加强了对类的认识,从中体会到了面向对象程序设计的方便和巧妙。懂得了在进行编写一个程序之前,要有明确的目标和整体的设计思想。另外某些具体的细节内容也是相当的重要。这些宝贵的编程思想和从中摸索到的经验都是在编程的过程中获得的宝贵财富。这些经验对我以后的编程会有很大的帮助的,我要好好利用。参考文献刘佳敏,马广焜,常燕等.C++面向对象程序设计双语教程(第2版)•北京:国防工业出版社钱能.C++程序设计教程(修订版).北京:清华大学出版社[3]大众点评:《计算机程序设计实践》课程设计任务划分课程设计题目:姓名设计职务任务工作量比例马一尤组长点评类40%曲思洁组员评分类30%常浩组员菜品类30%附录// //--餐饮大众点评.prj--// Menu.h//菜品类Remark.h//评价类Review.cpp//点评类和测试函数////彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、//**Menu.h**//彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、彳、#include<iostream>#include<string>usingnamespacestd;classMenu//菜品类{public:Menu(){}intRestaurant()〃输出餐馆{cout<<"\n^^☆☆店家☆☆☆☆'□'『;for(inti=0;i<a;i++){cout<<"§"<<i+1<<"."<<rest[i]<<"";}cout<<endl;cin>>restaurant;returnrestaurant;}intStyOfCooking(intx)//输出菜系{cout<<"\n^^☆☆菜系☆☆☆for(intj=0;j<100;j++){if(sty[x-1][j]=="")break;}for(inti=0;i<j;i++){cout<<"§"<<i+1<<"."<<sty[x-1][i]<<"";}cout<<endl;cin>>styoc;returnstyoc;}voidaddRestaurant()〃添加商户{a++;coutvv"★商户名称:";cin>>rest[a-1];coutvv"\n菜系数目(填数字哦O_O):";cin>>b;for(inti=0;i<b;i++){coutvv"\n★菜系"vvi+lvv":";cin>>sty[a-1][i];coutvv"\n菜名数目(填数字哦O_O):";cin>>c;for(intj=0;j<c;j++){coutvv"\n★菜名"vvj+lvv":";cin>>nam[a-l][i][j];}}coutvv"\n★商户:"vvrest[a-1]vv"添加完毕"vvendl;}stringgetRestaurant(intx)//得到餐馆名称returnrest[x];}intgetRest(intx)//得到餐馆所有菜数目{intall=0;for(inti=0;i<100;i++){if(sty[x-1][i]=="")break;for(intj=0;j<100;j++){if(nam[x-1][i][j]=="")break;}all+=j;}returnall;}intgetStyoc(intx)//得到餐馆所有菜系数目{for(inti=0;i<100;i++){if(sty[x-1][i]=="")break;}returni;}intgetNamoc(intx,inty)〃得到餐馆某一菜系所有菜数目{for(inti=0;i<100;i++){if(nam[x-1][y-1][i]=="")break;}returni;intgeta()〃得到a{returna;}stringgetnam(intx,inty,intz)/得至U菜名{returnnam[x][y][z];}intgetNumOfNam(intx,inty,intz)/得到菜的编号{intrank=0;for(inti=1;i<x;i++){rank+=getRest(i);}for(intj=1;j<y;j++){rank+=getNamoc(x,j);}rank+=z;returnrank;}intgetBeforNam(intx)//得到某一餐馆之前所有餐馆共有的菜数目{intall=0;for(inti=0;i<x;i++){all+=getRest(i+1);}returnall;}private:staticinta;//餐馆个数intb,c;〃菜系菜名数目intrestaurant,styoc;〃餐馆,菜系编号staticstringrest[100];//餐馆数组staticstringsty[100][100];//菜系数组staticstringnam[100][100][100];//菜名数组};stringMenu::rest[100]={"蟹堡王","糖糖小家","福记"};stringMenu::sty[100][100]={{"鲁菜","川菜","湘菜打饮品"},「东北菜","粤菜","饮品"},{"闽菜","苏菜"}};stringMenu::nam[100][100][100]={{{"一品豆腐","香酥鸡"},{"鱼香肉丝","回锅肉"},{"腊味合蒸"},{"橙汁","雪碧"}},{{"小鸡炖蘑菇","锅包肉","猪肉炖粉条"},{"梅菜扣肉","白斩鸡"},{"辣白菜汤","牛肉萝卜汤"}},{{"青椒炒肉丝","三杯鸡"},{"贵妃鸡翅","金玉满堂"}}};intMenu::a=3;//**Remark.h**#include<iostream>#include<iomanip>#include<string>classRemark//评分类{public:Remark(){all=0;taste=0;environment=0;serve=0;mark=0;aa=0;bb=0;cc=0;rr=0;x=0;}voidChoose(inti)//选择操作{switch(i){case1:Mark();break;case2:Evaluate();break;case3:Advice();break;}}voidRefectory()〃餐馆点评{inta,b,c,d;cout<<"\n^^☆☆店铺评价☆☆☆cout<<"O_O亲,5星好评,您打算给我们几颗星呢?\n";coutvv"\n★总体评价:";cin>>a;all+=a;coutvv"★口味:";cin>>b;taste+=b;coutvv"*环境:";cin>>c;environment+=c;coutvv"★服务:";cin>>d;serve+=d;rr++;}intgetrr()〃得到rr{returnrr;}intgetall()〃得至【」all{returnall;}intgettaste()〃得到taste{returntaste;}intgetenvironment()〃得到environmentreturnenvironment;}intgetserve()〃得到serve{returnserve;}voidMark()〃菜点评{intb,s;if(x!=0)mark=(double)x/(double)(aa+bb+cc);cout<<" ★ 这 道 菜 的 评分:"vvsetiosflags(ios::fixed)vvsetprecision(l)vvmarkvv"分\n"vvendl;coutvv"l.非常好:10分2.很好:8分3.好:6分4.一般:4分5.很差:2分"vvendl;cin>>b;switch(b){case1:x+=10;aa++;mark=x/(aa+bb+cc);break;case2:x+=8;aa++;mark=x/(aa+bb+cc);break;case3:x+=6;aa++;mark=x/(aa+bb+cc);break;case4:x+=4;bb++;mark=x/(aa+bb+cc);break;case5:x+=2;cc++;mark=x/(aa+bb+cc);break;}coutvv"\nO_O亲,您对这道菜的评价如何,口味满意吗?\n\n★评价:";switch(b){case1:case2:case3:cin>>goodComment[aa-1];break;case4:cin>>mediumComment[bb-1];break;case5:cin>>badComment[cc-1];break;}coutvv"\nO_O亲,请给我们一些建议,更好的为您服务吧!\n\n★建议:";cin>>advice[aa+bb+cc-1];cout<<endl;coutvv"*进行餐厅评分\n\n①是②否\n";cin>>s;if(s==1)Refectory();}voidEvaluate()〃显示评价{coutvv"☆好评("vvaavv"条):\n"vvendl;for(inth=0;h<aa;h++)cout<<""<<h+1<<"."<<goodComment[h]<<endl;coutvv"\n☆中评("vvbbvv"条):\n"vvendl;for(intj=0;j<bb;j++)cout<<""<<j+1<<"."<<mediumComment[j]<<endl;coutvv"\n☆差评("vvccvv"条):\n"vvendl;for(intk=0;k<cc;k++)cout<<""<<k+1<<"."<<badComment[k]<<endl;cout<<endl;}voidAdvice()〃显示建议{coutvv"☆建议("vvaa+bb+ccvv"条):\n"vvendl;for(inti=0;i<(aa+bb+cc);i++){coutvv""vvi+1vv"."vvadvice[i]vvendl;}coutvvendl;}doublegetRemark()〃得到Remark{returnmark;}protected:intaa,bb,cc,x,rr;〃非常好,很好,好,一般,差的评价次数,总评分,餐厅评价次数doublemark;//菜的分数intall,taste,environment,serve;〃总体评价,口味,环境,服务总分数stringgoodComment[100],mediumComment[100],badComment[100],advice[100];//好评数组,中评数组,差评数组};//**Review.cpp**#include<iostream>#include<iomanip>#include<string>#include"Menu.h"#include"Remark.h"classReview//点评类{public:Review(){inti,j;cout<<"**********"<<endl;coutvv"*大众点评*"vvendl;cout<<"**********"<<endl;while(1){coutvv"\n\n*l逛一逛*2查找*3热门餐厅*4添加商户"vvendl;cin>>i;switch(i){casel:xx=myMenu.Restaurant();yy=myMenu.StyOfCooking(xx);zz=NamOfCooking();remark();break;case2:Find();break;case3:Hot();break;case4:Add();break;}coutvv"\n©_©亲,真的要抛弃点点吗\n\n①是②否\n";cin>>j;if(j==1)break;♦♦♦♦♦♦♦♦♦♦♦♦"vvendl;}}voidHot()〃热门餐厅{intchoose=0,e=0;intc[100],rank[100];intx=myMenu.geta();inttemp=0;for(intq=0;qv101;q++){c[q]=101;}for(inti=0;ivx;i++){rank[i]=allall(i);}for(intm=0;mvx;m++){for(intn=0;nvx-1;n++){if(rank[n]vrank[n+1]){temp=rank[n];rank[n]=rank[n+1];rank[n+1]=temp;}}}for(intj=0;jvx;j++){e=0;for(intk=0;k<x;k++){if(rank[j]==allall(k)){for(intw=0;w<x;w++){if(c[w]==k)break;}if(w>=x){c[j]=k;e=9;}}if(e==9)break;}}for(intp=0;p<x;p++){coutvv"◎"vvp+lvv""vvmyMenu.getRestaurant(c[p]);coutvv"\n总体评价:";out(allall(c[p]));coutvv"\n口味:";out(alltaste(c[p]));coutvv"\n环境:";out(allenvironment(c[p]));cout<<"\n服务:";out(allserve(c[p]));cout<<endl;}cin>>choose;xx=c[choose-l]+l;yy=myMenu.StyOfCooking(xx);zz=NamOfCooking();remark();}voidout(intx)//输出星级{for(inti=0;i<x;i++)coutvv"★”;for(intj=0;j<5-x;j++)coutvv"☆“;}intallall(intx)//餐厅总体评价分数{intall=0;intrr=0;for(inti=myMenu.getBeforNam(x);i<(myMenu.getBeforNam(x)+myMenu.getRest(x+1));i++){all+=myRemark[i].getall();rr+=myRemark[i].getrr();}if(rr==0)return0;else{all=all/rr;returnall;}}intalltaste(intx)//餐厅口味分数{intall=0;intrr=0;for(inti=myMenu.getBeforNam(x);i<=(myMenu.getBeforNam(x)+myMenu.getRest(x+1));i++){all+=myRemark[i].gettaste();rr+=myRemark[i].getrr();if(rr==0)return0;else{all/=rr;returnall;}}intallserve(intx)//餐厅服务分数{intall=0;intrr=0;for(inti=myMenu.getBeforNam(x);i<=(myMenu.getBeforNam(x)+myMenu.getRest(x+1));i++){all+=myRemark[i].getserve();rr+=myRemark[i].getrr();}if(rr==0)return0;else{all/=rr;returnall;}}intallenvironment(intx)//餐厅环境分数{intall=0;intrr=0;for(inti=myMenu.getBeforNam(x);i<=(myMenu.getBeforNam(x)+myMenu.getRest(x+1));i++){all+=myRemark[i].getenvironment();rr+=myRemark[i].getrr();}if(rr==0)return0;else{all/=rr;returnall;}}voidAdd()〃添加商户{inti=0;while(1){myMenu.addRestaurant();coutvv"\n①继续添加商户②退出"vvendl;cin>>i;if(i==2)break;}}intNamOfCooking()〃显示菜名{in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论