好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

学士学位论文—-计算机网络课程设计—通讯录软件系统设计.doc

33页
  • 卖家[上传人]:cn****1
  • 文档编号:494047692
  • 上传时间:2023-06-25
  • 文档格式:DOC
  • 文档大小:625.50KB
  • / 33 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 计算机程序设计实践报告 餐饮大众点评1 引言本课程是基于广受好评的独立第三方消费点评网站——大众点评网中的餐饮点评系统设计的大众点评网于2003年4月成立于上海其一直致力于城市消费体验的沟通和聚合首创并领导的第三方评论模式已成为互联网的一个新热点大众点评移动客户端通过移动互联网,结合地理位置以及网友的个性化消费需求,为网友随时随地提供餐饮、购物、休闲娱乐及生活服务等领域的商户信息、消费优惠以及发布消费评价的互动平台,这种贴心的设计使其已成为人们本地生活必备的工具而其中大众点评网主要致力的餐饮点评服务类尤为大众所喜爱它做到了使商户中所有的评价信息都来源于大众,服务于大众每个人都可以自由发表对商户的评论,好则誉之,差则贬之,以此来向大家分享自己的消费心得它的种种优点使我们对这个评价系统非常感兴趣,所以我们决定选用大众点评网中的餐饮评价模块来作为我们这次课程设计的题目2 需求分析2.1 系统功能分析1. 对菜品(餐馆名称、菜系、菜名)进行管理2. 进行评分管理-计算分值、添加评分、添加评价和建议3. 给各种菜打分,包括评分,写评语,写建议4. 菜品排名2.2 系统设计目标1. 对菜品(餐馆名称、菜系、菜名)进行管理,根据用户选择,输出当前餐厅的菜系菜名2. 进行评分管理-计算分值、添加评分、添加评价和建议,根据评分的次数和总数计算评分,并根据用户的评分,选择性将评价放入好评,中评或差评中3. 给各种菜打分,包括评分,写评语,写建议4. 给餐厅打分,包括对总体评价,口味,服务,环境的星级打分5. 菜品排名,给所有餐厅根据其总体评价的星级排名,并给餐厅内每道菜按照其评分排名6. 添加商户,在原有餐厅的基础上,添加新的餐厅菜系菜名,并可以对其进行点评,排名7. 餐厅查找,根据用户输入的餐厅名称,输出对应餐厅的菜系菜名3 系统设计3.1 系统功能设计 1.逛一逛模块 功能:查看各个餐馆的菜系菜品,即菜品管理 1.1店家模块 功能:依次显示所有餐馆名 2.查找模块 功能:根据输入的餐馆名称查找相应的餐馆并输出菜品信息 3.热门餐厅模块 功能:根据总体评价的排名依次显示餐厅星级,即餐厅排名 4.添加商户模块 功能:添加商户,即添加餐馆及其菜系菜名 5..菜系模块 功能:显示所选餐厅菜系 5.1菜名模块 功能:显示所选餐厅菜系的所有菜名 5.1.1写点评模块 功能:给单道菜以及其所在餐厅评分 5.1.2查看评价模块 功能:显示菜的评价 5.1.3查看建议模块 功能:显示菜的建议 5.1.4查看在店中排名模块 功能:显示菜在餐厅中的排名 5.1.5退出模块 功能:退出对单道菜的操作,返回主界面 3.2 系统工作流程3.3 类设计与类结构(小四号宋体加粗)class Menu //菜品类{public: Menu(); int Restaurant(); //输出餐馆 int StyOfCooking(int); //输出菜系 void addRestaurant(); //添加商户 string getRestaurant(int); //得到餐馆名称 int getRest(int); //得到餐馆所有菜数目 int getStyoc(int); //得到餐馆所有菜系数目 int getNamoc(int,int); //得到餐馆某一菜系所有菜数目 int geta(); //得到a string getnam(int,int,int); //得到菜名 int getNumOfNam(int,int,int); //得到菜的编号 int getBeforNam(int); //得到某一餐馆之前所有餐馆共有的菜数目private: static int a; //餐馆个数 int b,c; //菜系菜名数目 int restaurant,styoc; //餐馆,菜系编号 static string rest[100]; //餐馆数组 static string sty[100][100]; //菜系数组 static string nam[100][100][100]; //菜名数组};class Remark //评分类{public: Remark(); void Choose(int i); //选择操作 void Refectory(); //餐馆点评 int getrr(); //得到rr int getall(); //得到all int gettaste(); //得到taste int getenvironment(); //得到 environment int getserve(); //得到 serve void Mark(); //菜点评 void Evaluate(); //显示评价 void Advice(); //显示建议 double getRemark(); //得到 Remarkprotected: int aa,bb,cc,x,rr; //非常好,很好,好,一般,差的评价次数,总评分,餐厅评价次数 double mark; //菜的分数 int all,taste,environment,serve; //总体评价,口味,环境,服务总分数 string goodComment[100],mediumComment[100],badComment[100],advice[100]; //好评数组,中评数组,差评数组};class Review //点评类{public: Review(); void Hot(); //热门餐厅 void out(int); //输出星级 int allall(int); //餐厅总体评价分数 int alltaste(int); //餐厅口味分数 int allserve(int); //餐厅服务分数 int allenvironment(int); //餐厅环境分数 void Add(); //添加商户 int NamOfCooking(); //显示菜名 void Find(); //查找 void remark(); //点评 void Ranking(); //排名private: int xx,yy,zz; //餐馆,菜系,菜名编号 Menu myMenu; //菜品类对象 myMenu Remark myRemark[100]; //评分类对象数组 myRemark[100]};3.4 开发与运行环境(小四号宋体加粗)Microsoft Visual C++6.04 设计与实现(1) 界面设计主界面:“逛一逛”界面:“查找”界面:“热门餐厅”界面:“添加商户”界面:单道菜写点评以及对当前菜所在餐厅的评价界面:单道菜的查看评价与建议界面(点评前):单道菜的排名界面(点评前):对单道菜操作的退出界面:(2) 设计每个模块的算法和流程【Review类】private: int xx,yy,zz; //【注释①】 Menu myMenu; //菜单类的对象 Remark myRemark[100]; //评分类的对象数组,一个对象对应一道菜public:【构造函数】Review():进入界面进行各种操作1.输出标题,提醒用户已进入大众点评。

      2.用“while(1)”做一个无限循环来包含函数中其余的内容,在循环的末尾处询 问用户是否退出(①是 ②否),根据用户的输入“cin>>j;”来判断是否退出循环“if(j==1)break;”以此实现多次评价,查看,添加商户等功能 3.循环开头处输出主界面的四个选项“1.逛一逛 2.查找 3.热门餐厅 4.添加商 户”然后执行一个“switch”多分支选择语句 “case 1”即选择了主界面中的“逛一逛”,执行私有成员中的Menu类的对象myMenu(以后将直接用myMenu,不再做解释说明)中的两个函数和“NamOfCooking()”函数【注释②】,并将返回值分别赋值给私有成员中的xx,yy,zz【注释①】.然后执行“remark()”函数,进行单个菜的评价等功能 “case 2”即选择了主界面中的“查找”,执行“Find()”函数,对用户输入的餐厅进行查找 “case 3”即选择了主界面中的“热门餐厅”,执行“Hot()”函数,按餐厅评分排名输出热门餐厅以供用户选 “case 4”即选择了主界面中的“添加商户”,执行“Add()”函数,进行餐厅的添加。

      成员函数】:remark():对所选的菜进行评价等功能1. 用“while(1)”做一个无限循环来包含函数中其余的内容,在循环的末尾处询 问用户是否退出(①后退 ②退出),根据用户的输入“cin>>s;”来判断是否退出循环“if(s==2)break;”以此实现对一道菜多次评价,多种操作的功能2.在循环内输出“①.写点评 ②.查看评价 ③.查看建议 ④.查看在店中排名 ⑤.退出”以供用户选择3.将用户的选择存在d中,如果d小于等于3,则执行“myRemark[myMenu.getNumOfNam(xx,yy,zz)-1].Choose(d)” 【注释③④】,即根据用户所选,调用评分类中的函数进行选项中的操作 4.如果d等于4,则调用Ranking()函数 5.如果d等于5,则break,退出循环Find():对用户输入的餐厅进行查找 1.让用户输入想要查找的餐厅,将其赋值给refectory 2.执行for循环语句,初始时i=0每循环一次i+1,当输入的餐厅与已有餐厅名字相同时退出循环即当“myMenu.getRestaurant(i)==refectory”时【注释③】,执行“break” 3.执行if语句,如果上一步中的i小于餐厅的数量“if(i

      4.如果没有满足if的条件,则执行else语句,告诉用户没有他要查找的餐厅NamOfCooking():输出所选餐厅菜系的菜名单目,返回值为用户所选的菜名。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.