计算机程序设计实践报告餐饮大众点评c++本科论文

合集下载

《基础程序设计综合实践》实践报告范文

《基础程序设计综合实践》实践报告范文

实践报告:基础程序设计综合实践一、引言本报告是针对《基础程序设计综合实践》课程的实践内容进行总结和分析。

通过该实践,我对基础程序设计的知识有了更深入的理解,并且掌握了实际应用的能力。

二、实践目标本次实践的主要目标是:1. 学习并掌握基础程序设计语言(如C、Java等)的基本语法和特性;2. 熟悉常见的程序设计模式和算法;3. 运用所学知识完成一系列实际案例的编程任务。

三、实践过程在实践过程中,我按照以下步骤进行了学习和实践:1. 学习基础程序设计语言的语法和特性:我通过阅读教材和参考资料,系统地学习了所选的程序设计语言的基本语法和常用特性。

这包括变量定义、控制流程、函数调用等内容。

2. 学习程序设计模式和算法:为了提高程序的可维护性和扩展性,我学习了一些常见的程序设计模式和算法。

例如,单例模式、观察者模式、递归算法等。

这些模式和算法对于解决实际问题非常有帮助。

3. 完成编程任务:根据教师布置的编程任务,我运用所学知识完成了一系列实际案例的编程任务。

这些任务涵盖了不同难度和领域的问题,包括数据结构、图像处理、网络编程等。

在完成任务的过程中,我不断调试和优化代码,提高程序的效率和可读性。

四、实践收获通过《基础程序设计综合实践》的实践,我获得了以下收获:1. 熟练掌握了基础程序设计语言的语法和特性,能够独立编写简单到中等复杂程度的程序;2. 掌握了常见的程序设计模式和算法,能够灵活运用它们解决实际问题;3. 增强了问题分析和解决的能力,学会了如何将实际问题转化为计算机程序;4. 加深了团队协作和沟通能力,在与同学一起完成编程任务时,学会了合理分工和交流合作。

五、总结与展望通过《基础程序设计综合实践》的实践,我不仅巩固了基础程序设计的知识,还培养了实际应用的能力。

在未来,我将继续深入学习程序设计的高级知识和技术,不断提升自己的编程水平。

同时,我也会积极参与开源项目和编程竞赛,锻炼自己在实际项目中的编程能力。

c语言点餐系统实训报告

c语言点餐系统实训报告

c语言点餐系统实训报告本报告旨在介绍c语言点餐系统实训的目的和背景,并概括说明报告的结构。

点餐系统是一种常见的应用程序,可以帮助餐厅提高工作效率和顾客体验。

通过实现一个简单的c语言点餐系统,我们可以加深对c语言程序设计的理解,并掌握系统开发的基本方法和技巧。

本报告将分为以下几个部分:实训目的:阐述我们进行此实训的目的,以及期望达到的研究效果。

方案设计:介绍我们设计点餐系统的基本思路与方法,包括所需功能和用户界面设计。

程序实现:详细说明我们在实训过程中所使用的c语言编程技术和工具,以及程序实现的具体步骤。

功能测试:描述我们对点餐系统进行的功能测试,以验证系统的正确性和稳定性。

总结和展望:总结本次实训的收获和问题,并展望未来可能的优化和改进方向。

通过本报告的阅读,读者将了解到点餐系统实训的背景、目的和结构,以及我们在实训过程中所遇到的挑战和解决方法。

同时,读者还可以对c语言程序设计和系统开发有一个简单的认识,并通过点餐系统实战掌握更多实际的编程技巧和经验。

本部分将对点餐系统的功能需求和非功能需求进行分析,包括用户界面、数据存储、订单管理等方面的要求。

功能需求用户界面:系统应提供简洁直观的用户界面,方便用户浏览菜单、选择菜品和提交订单等操作。

菜单管理:系统应能够展示餐厅的菜单信息,包括菜品名称、价格、描述等,并支持菜单的查询、编辑和更新。

订单管理:系统应能够处理顾客的点餐请求,包括接收订单、记录订单详情、计算订单金额,并提供相应的订单状态跟踪功能。

数据存储:系统应能够可靠地存储菜单数据和订单数据,以便于后续查询和统计分析。

非功能需求可靠性:系统应具备较高的稳定性和可靠性,能够在高并发情况下正常运行,并且能够处理异常情况,如网络故障或数据丢失等。

安全性:系统应采取必要的安全措施,保护用户的隐私信息和订单数据,防止未经授权的访问和篡改。

性能:系统应能够在合理的时间范围内响应用户的操作,快速加载菜单信息和处理订单请求。

大学计算机专业实习报告范文(2篇)

大学计算机专业实习报告范文(2篇)

大学计算机专业实习报告范文一、实习目的透过理论联系实际,巩固所学的知识,提高处理实际问题的潜力,为顺利毕业进行做好充分的准备,并为自己能顺利与社会环境接轨做准备。

透过这次实习,使我们进一步理解和领会所学的基本理论,了解计算机技术和信息管理技术的发展及应用,较为系统地掌握计算机应用技能和信息管理技能,把所学知识与解决实际问题相联系,能够利用计算机处理工作中的各种信息,培养我们发现问题、分析问题和解决问题的潜力,从而提高我们从事实际工作的潜力。

二、实习好处生产实习是一个极为重要的实践性教学环节。

透过实习,使学生在社会实践中接触与本专业相关的实际工作,增强感性认识,培养和锻炼学生综合运用所学的基础理论、基本技能和专业知识,去独立分析和解决实际问题的潜力,把理论和实践结合起来,提高实践动手潜力,为学生毕业后走上工作岗位打下必须的基础;同时能够检验教学效果,为进一步提高教育教学质量,培养合格人才积累经验。

计算机是一门对实践要求较高的学科,透过专业实习,使学生能熟悉有关计算机专业的各个领域,使学生毕业后能胜任与本专业相关的工作。

大学继续教育5年中学习了很多,经历了很多,得到的是学习潜力、处事潜力和一些专业知识。

可应对社会,我们经验太少,思想单纯!毕业实习,给了我们一个了解社会,增加经验,熟悉工作单位的机会。

锻炼自己的动手潜力,将学习的理论知识运用于实践当中,反过来还能检验书本上理论的正确性,有利于融会贯通。

同时,也能开拓视野,完善自己的知识结构,到达锻炼潜力的目的。

一切都是为了让实践者对本专业知识构成一个客观,理性的认识,从而不与社会现实相脱节。

此外透过理论联系实际,巩固所学的知识,提高处理实际问题的潜力,了解设计专题的主要资料,为毕业设计的顺利进行做好充分的准备,并为自己能顺利与社会环境接轨做准备。

三、实习单位调研状况我的实习单位xx信息网络有限公司xx分公司(以下简称xx分公司)是xx国有资产出资参股成立的有限职责企业,坐落在美丽的光明广场西侧。

C++程序设计实习报告-酒店点菜管理系统

C++程序设计实习报告-酒店点菜管理系统

程序设计实习》报告题目: 酒店点菜管理系统专业班级:学号:姓名:起止日期:指导老师:2018年7月14日目录一、实习内容及设计思路⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1二、调试分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯2三、测试结果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3四、程序的使用及相关说明⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯7五、实习总结及心得体会⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯8六、对课程的建议或意见⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯8一、实习内容及设计思路1. 问题描述为了适应现代信息点餐的需求,采用新信息技术,研究设计了一个计算机点餐系统。

能够完成权限管理、点餐管理、订单管理、结账管菜谱评分等功能。

2. 设计要求设计出一款可以提供信息传递和人机交互的实用性服务系统,同时具有如下功能:1) .权限管理:包括用户注册、登录、用户信息管理;2) .点餐功能:包括餐单的增加、修改、删除、查看;3) .订单管理:包括生成订单、修改、删除、查找;4) .结账管理:统计消费的总额;5) .查看历史:查看消费历史;6) .菜谱评分:对各菜谱中经常点取的菜肴进行评分。

3. 设计思路2). 代码流程设计结构体date、dish、order、myuser,基类Menu,继承与派生类User。

成员函数GetMessage读取Message.txt文件信息,成员函数GetDish 读取Menu.txt 文件信息,储存在结构体中。

利用成员函数对读取信息进行处理(用户注册、登录,历史记录查询,用户信息管理,菜单查看与点菜等) ,最后成员函数Save 将信息储存在文本文件中。

4.源代码#include <iostream>#include <string>#include <cstdlib>#include <fstream>#include <sstream>#include <iomanip>#include <time.h> #pragma warning(disable:4996) using namespace std;const int TodayMenuNum = 10; //菜单最大值const int UserNum = 3; //注册用户最大值const int RecordNum = 5; //用户可保存历史记录最大值const int DishMenuNum = 5; //点菜可点菜品数量最大值struct date //时间{int year = 0;int month = 0;int day = 0;};struct dish //菜品{string dishnum = "0";string dishname = "0";int dishprice = 0;float dishgrade = 0;int dishgradenum = 0;};struct order //菜单{int dishtable = 0;char dishtime[64];int pricesum = 0;dish dishmenu[DishMenuNum];int dishnum = 0;};struct myuser //用户{string myusername = "0";string mypassword = "0";char mysex = '0';date mybirth;order myrecord[RecordNum];};class Menu //菜单类{protected:order menu;dish todaymenu[TodayMenuNum]; public: char sign;void GetDish();void YourDish();void Time();void Score();};class User:public Menu //用户类{private:string username;string userpassword;char usersex;date userbirth;myuser myusers[UserNum]; int usernum;public:void Register();void Login();void GetMessage();void Message();void Order();void History();void Change();void Save();void Add();void Delete();};int main(){int flag = 1, operate;User auser;auser.GetMessage();//auser.Message();do{cout << " ★★酒店点菜管理系统★★ \n";cout << "┌────────────────── \n";cout << "│请选择您所需的操作│ \n";cout << "│ 新人注册:1,并按回车键│\n";cout << "│ 用户登录:2,并按回车键│\n"; cout << "│ 退出系统:3,并按回车键│ \n";cout << "└────────────────── \n";cout << " 请选择一个操作:";cin >> operate;switch (operate){case 1:auser.Register();auser.Save();break;case 2:auser.Login();auser.Order();break;case 3:auser.Save();exit(0);//强制结束程序运行!break;default:cout << "输入错误,请重新1-3 输入" << endl; break;} while (1);system("pause");return 0;}void Menu::Time() // 获取计算机当前时间{time_t t = time(0);strftime(menu.dishtime, sizeof(menu.dishtime), "%Y/%m/%d|%X", localtime(&t));puts(menu.dishtime);}void Menu::Score() //菜品打分{for (int j = 0; j < menu.dishnum; j++){cout << "请为" << menu.dishmenu[j].dishname << "评分(十分制):";cin >> menu.dishmenu[j].dishgrade;for (int k = 0; k < TodayMenuNum; k++)if (menu.dishmenu[j].dishnum == todaymenu[k].dishnum){todaymenu[k].dishgrade = (todaymenu[k].dishgrade *todaymenu[k].dishgradenum + menu.dishmenu[j].dishgrade) /(todaymenu[k].dishgradenum + 1);todaymenu[k].dishgradenum = todaymenu[k].dishgradenum + 1;}}fstream file;file.open("f://ZL//Menu.txt", ios::in | ios::out | ios::trunc);for (int i = 0; i < TodayMenuNum; i++)file << "# "<< todaymenu[i].dishnum << " " << todaymenu[i].dishname << " "<< todaymenu[i].dishprice << " " << todaymenu[i].dishgrade << " " <<todaymenu[i].dishgradenum << endl;file.close();cout << " 感谢您的评价" << endl;}void Menu::GetDish() // 从文件中获取菜单信息{int i = 0;ifstream file("f://ZL//Menu.txt", ios::out);char line[1024] = { 0 };while (file.getline(line, sizeof(line))){stringstream word(line);word >> sign;word >> todaymenu[i].dishnum;word >> todaymenu[i].dishname;word >> todaymenu[i].dishprice;word >> todaymenu[i].dishgrade;word >> todaymenu[i].dishgradenum;i++;}cout << setiosflags(ios::left) << setiosflags(ios::fixed) << setprecision(1) << endl;cout << " 今日菜单:" << endl;cout << setw(5) << "编号" << setw(15) << "菜名" << setw(6) << "价格" << setw(6) << "评分" << setw(9) << "评分人次" << endl;for (int i = 0; i < TodayMenuNum; i++)cout << setw(5) << todaymenu[i].dishnum << setw(15) <<todaymenu[i].dishname << setw(6) << todaymenu[i].dishprice << setw(6) << todaymenu[i].dishgrade << setw(9) << todaymenu[i].dishgradenum << endl;file.close();}void Menu::YourDish() // 用户点菜{int flag = 0;menu.dishnum = 0;cout << endl;cout << " 点餐页面" << endl;while (1){cout << "请输入您当前桌号(1-19):" << endl;cin >> menu.dishtable;if ((menu.dishtable < 20)&(menu.dishtable > 0))break;elsecout << " 桌号输入错误!" << endl;}cout << "请输入菜品编号与份数,输入666结束:" << endl;for (int j = 0; j < DishMenuNum; j++){cout << "菜品编号:";cin >> menu.dishmenu[j].dishnum;if (menu.dishmenu[j].dishnum == "666")break;for (int k = 0; k < TodayMenuNum; k++)if (menu.dishmenu[j].dishnum == todaymenu[k].dishnum){menu.dishmenu[j].dishname = todaymenu[k].dishname;menu.dishmenu[j].dishprice = todaymenu[k].dishprice; flag = 1;break;}if (flag == 0){cout << " 输入编码不正确! " << endl; j = j - 1; continue;}cout << "菜品份数 :";cin >> menu.dishmenu[j].dishgradenum; menu.dishnum++;}menu.pricesum = 0;cout << setiosflags(ios::left) << setiosflags(ios::fixed) << setprecision(1) << endl; cout << menu.dishtable << "号桌 "; Time(); << endl;cout << setw(5) << "编号" << setw(15) << "菜名" << setw(6) << "单价 " << setw(6) << "份数" << endl;for (int j = 0; j < menu.dishnum; j++){cout << setw(5) << menu.dishmenu[j].dishnum << setw(15) <<menu.dishmenu[j].dishname << setw(6) << menu.dishmenu[j].dishprice << setw(6) << menu.dishmenu[j].dishgradenum << endl;menu.pricesum = menu.pricesum + menu.dishmenu[j].dishpricemenu.dishmenu[j].dishgradenum;<< endl;cout << "总计 :" << menu.pricesum << "元" << endl; cout << endl; char b;cout << " 您是否愿意对菜品进行评价 :Y/N?" << endl; cin >> b; if (b == 'Y' || b == 'y') Score();}cout <<cout <<void User::Register() //注册{string password1, password2;int flag = 0, j;cout << endl;cout << " 新用户注册:" << endl;for (j = 0; j < UserNum; j++){if (myusers[j].mysex == '0') //?while (1){cout << "请输入用户名:";cin >> username; for (int i = 0; i < j; i++)if (username == myusers[i].myusername) /用/ 户名重复判断{cout << "用户名重复!" << endl; break;}elseflag = 1;if (flag == 0)continue;cout << "请输入性别(男M 女W):";cin >> usersex;程序设计实习》报告}cout << "请输入生日(年月日):";cin >> userbirth.year >> userbirth.month >> userbirth.day; cout<< "请输入六位数字密码:";cin >> password1;cout << "请再次输入密码:";cin >> password2;if (password2 != password1) //密码判断cout << " 密码输入不一致,请重新输入!" << endl; elseflag = 2;if (flag == 2){myusers[j].myusername = username;myusers[j].mypassword = password1; myusers[j].mysex =usersex; myusers[j].mybirth.year = userbirth.year;myusers[j].mybirth.month = userbirth.month;myusers[j].mybirth.day = userbirth.day; cout << " 注册成功!" << endl;break;}}if (flag == 2)break;}if (flag == 0)cout << "错误!无法注册~" << endl;cout << endl;void User::Login() // 登录{int flag = 0;while (1){cout << endl;cout << "请登录系统" << endl;cout << "请输入用户名:";cin >> username;cout << "请输入密码:";cin >> userpassword;for (int i = 0; i < UserNum; i++){if ((username == myusers[i].myusername) & (userpassword == myusers[i].mypassword)){cout << "登录成功!" << endl; usernum = i;flag = 1; break;}}if (flag == 1)break;elsecout << " 错误,重新输入!" << endl;}}void User::GetMessage() //从文件中获取用户信息{int i = 0, j;fstream file("f://ZL//Message.txt", ios::out | ios::in); char line[1024] = { 0 };while (file.getline(line, sizeof(line))){stringstream word(line);word >> sign;if (sign == '#'){word >> myusers[i].myusername;word >> myusers[i].mypassword; word >> myusers[i].mysex;word >> myusers[i].mybirth.year;word >> myusers[i].mybirth.month; word >> myusers[i].mybirth.day; i++;j = 0;}else if (sign == '*'){word >> myusers[i - 1].myrecord[j].dishtable;word >> myusers[i - 1].myrecord[j].dishtime;word >> myusers[i - 1].myrecord[j].pricesum;for (int k = 0; k < DishMenuNum; k++) {word >> myusers[i - 1].myrecord[j].dishmenu[k].dishname; word >>myusers[i - 1].myrecord[j].dishmenu[k].dishprice; word >> myusers[i- 1].myrecord[j].dishmenu[k].dishgradenum;} j++;}} file.close();}void User::Message() //展示信息(调试用) {for (int i = 0; i < UserNum; i++){cout << myusers[i].myusername << myusers[i].mypasswordmyusers[i].mysex;cout << myusers[i].mybirth.year << myusers[i].mybirth.month myusers[i].mybirth.day << endl;for (int j = 0; j < RecordNum; j++){cout << myusers[i].myrecord[j].dishtablemyusers[i].myrecord[j].dishtime << myusers[i].myrecord[j].pricesum;for (int k = 0; k < DishMenuNum; k++){cout << myusers[i].myrecord[j].dishmenu[k].dishname; cout <<myusers[i].myrecord[j].dishmenu[k].dishprice;cout << myusers[i].myrecord[j].dishmenu[k].dishgradenum;}cout << endl;}}}void User::Change() //信息管理{int s, flag = 0;do{cout << endl;cout << " ★★请选择所需更改信息★★ \n";cout << "┌─────────────── ┐\n";cout << "│请选择您所需的操作│\n"; << <<<<cout << "│生日更改:1,并按回车键│\n";cout << "│密码更改:2,并按回车键│\n";cout << "│性别更改:3,并按回车键│\n";cout << "│退出更改:4,并按回车键│\n";cout << "└┘\n";cout << " 请选择一个操作:";cin >> s;switch (s){case 1:cout << " 当前生日为:" << myusers[usernum].mybirth.year << myusers[usernum].mybirth.month << myusers[usernum].mybirth.day << endl;cout << "请输入新的生日(年月日):";cin >> myusers[usernum].mybirth.year >>myusers[usernum].mybirth.month >> myusers[usernum].mybirth.day;cout << " 更改成功!新信息为:";cout << myusers[usernum].mybirth.year <<myusers[usernum].mybirth.month << myusers[usernum].mybirth.day << endl;break;case 2:cout << " 请输入新的密码:";cin >> myusers[usernum].mypassword;cout << " 更改成功!新密码为:" << myusers[usernum].mypassword << endl;break;case 3:if(myusers[usernum].mysex == 'M')cout << "当前性别为:男" << endl;elsecout << "当前性别为:女" << endl;cout << "请输入性别(男M 女W):";cin >> myusers[usernum].mysex;cout << " 更改成功!" << endl;break;case 4:flag = 1;break;default:cout << "输入错误,请重新1-4 输入" << endl;break;}if (flag = 1)break;} while (1);}void User::Add() // 历史记录增加{int flag = 0;for (int i = 0; i < RecordNum; i++)if (myusers[usernum].myrecord[i].dishtable == 0){strcpy(myusers[usernum].myrecord[i].dishtime, menu.dishtime);myusers[usernum].myrecord[i].dishtable = menu.dishtable;myusers[usernum].myrecord[i].pricesum = menu.pricesum;for (int j = 0; j < menu.dishnum; j++){myusers[usernum].myrecord[i].dishmenu[j].dishname menu.dishmenu[j].dishname;myusers[usernum].myrecord[i].dishmenu[j].dishprice menu.dishmenu[j].dishprice;myusers[usernum].myrecord[i].dishmenu[j].dishgradenum menu.dishmenu[j].dishgradenum;}flag = 1;break;}if (flag == 0)cout << "错误,无法储存~" << endl;}void User::History() // 历史记录{int year, month, min, max, flag;cout << endl;do{int s;cout << endl;cout << " ★★酒店点菜历史系统★★ \n";cout << "┌────────────────────────┐\n";cout << "│请选择您所需的操作│ \n";程序设计实习》报告0)cout << "│全部历史:1,并按回车键│\n"; //cout << "│时间查询:2,并按回车键│\n cout << "│金额查询:3,并按回车键│\n"; cout << "│退出系统:4,并按回车键│\n"; cout << "└┘\n";cout << " 请选择一个操作:";cin >> s;switch (s){case 1:flag = 0;cout << "\n";cout << myusers[usernum].myusername << " 的全部历史订单:" << endl;for (int j = 0; j < RecordNum; j++){if (myusers[usernum].myrecord[j].dishtable != 0){cout << setiosflags(ios::left) << setiosflags(ios::fixed) << setprecision(1) << endl;cout << myusers[usernum].myrecord[j].dishtable << "号桌";cout << myusers[usernum].myrecord[j].dishtime << endl;<< endl;cout << setw(15) << " 菜名" << setw(6) << " 单价" << setw(6) << " 份数" << endl;for (int k = 0; k < DishMenuNum; k++)if (myusers[usernum].myrecord[j].dishmenu[k].dishprice !=cout <<myusers[usernum].myrecord[j].dishmenu[k].dishgradenum << endl;}<< endl;cout << " 共消费 " << myusers[usernum].myrecord[j].pricesum<< "元" << endl;flag++;}}if (flag == 0)cout << "无历史订单记录! " elseDelete(); Save(); break; case 2:cout << "\n";cout << myusers[usernum].myusername << " 的部分历史订单 :" <<endl;cout << "请输入年份和月份 :"; cin >> year >> month;for (int j = 0; j < RecordNum; j++){for (int i = 0; i < 4; i++)max = max * 10 +(int)myusers[usernum].myrecord[j].dishtime[i];cout << setw(15)myusers[usernum].myrecord[j].dishmenu[k].dishname;cout<<setw(6)myusers[usernum].myrecord[j].dishmenu[k].dishprice;cout<< setw(6)<<<<<<cout <<for (int i = 5; i < 7; i++)(int)myusers[usernum].myrecord[j].dishtime[i];for (int j = 0; j < RecordNum; j++)if (myusers[usernum].myrecord[j].dishtable != 0)if ((max == year)&(min == month))cout << setiosflags(ios::left) << setiosflags(ios::fixed)<< setprecision(1) << endl;cout << myusers[usernum].myrecord[j].dishtable << "号桌 ";cout << myusers[usernum].myrecord[j].dishtime <<endl;cout << "***************************" << endl;cout << setw(15) << " 菜名" << setw(6) << setw(6) << "份数" << endl;for (int k = 0; k < DishMenuNum; k++)if(myusers[usernum].myrecord[j].dishmenu[k].dishprice != 0)myusers[usernum].myrecord[j].dishmenu[k].dishname;myusers[usernum].myrecord[j].dishmenu[k].dishprice;myusers[usernum].myrecord[j].dishmenu[k].dishgradenum << endl;cout << "***************************" << endl; cout << " 共 消 费 " <<minmax 10单价" <<cout<< setw(15) << cout<< setw(6) << cout<<setw(6)<<myusers[usernum].myrecord[j].pricesum << "元" << endl;}elsecout << " 没有记录!" << endl;}} break;case 3: flag = 0; cout << "\n";cout << myusers[usernum].myusername << " 的部分历史订单:" << endl;cout << " 请输入消费金额最大值和最小值:";cin >> max >> min;for (int j = 0; j < RecordNum; j++) {if (myusers[usernum].myrecord[j].dishtable != 0)if ((myusers[usernum].myrecord[j].pricesum >min)&(myusers[usernum].myrecord[j].pricesum < max)){ cout << setiosflags(ios::left) << setiosflags(ios::fixed) << setprecision(1) << endl;cout << myusers[usernum].myrecord[j].dishtable << " 号桌cout << myusers[usernum].myrecord[j].dishtime << endl;<< endl;cout <<cout << setw(15) << "菜名" << setw(6) << "单价" << setw(6) << "份数" << endl;for (int k = 0; k < DishMenuNum; k++)myusers[usernum].myrecord[j].pricesum << "元 " << endl; flag = 1;}}if (flag == 0)cout << "没有相应记录! " << endl;break; case 4:flag = 1; break; default:cout << "输入错误,请重新 1-4 输入" << endl; break;}if (flag == 1)break;} while (1);if(myusers[usernum].myrecord[j].dishmenu[k].dishprice != 0){cout << setw(15)myusers[usernum].myrecord[j].dishmenu[k].dishname;cout<<setw(6)myusers[usernum].myrecord[j].dishmenu[k].dishprice;cout<<setw(6)myusers[usernum].myrecord[j].dishmenu[k].dishgradenum << endl;<<<<<<cout <<<< endl;cout<<共消费<<void User::Save() //储存信息到文本文件中 {fstream file; file.open("f://ZL//Message.txt", ios::in | ios::out|ios::trunc); for (int i = 0; i < UserNum; i++){file << "# " << myusers[i].myusername << " " << myusers[i].mypassword " " << myusers[i].mysex << " ";file << myusers[i].mybirth.year << " " << myusers[i].mybirth.month << " "<< myusers[i].mybirth.day << endl;for (int j = 0; j < RecordNum; j++){file << "* " << myusers[i].myrecord[j].dishtable << " "myusers[i].myrecord[j].dishtime << " " << myusers[i].myrecord[j].pricesum << " ";for (int k = 0; k < DishMenuNum; k++){file << myusers[i].myrecord[j].dishmenu[k].dishname << " "; file << myusers[i].myrecord[j].dishmenu[k].dishprice << " ";file << myusers[i].myrecord[j].dishmenu[k].dishgradenum << " "; }file << "\n";}}file.close();}void User::Delete() //记录删除{char flag, time[64]; int flag1 = 0;<<<<cout << "想删除某次历史记录,Y/N ?";cin >> flag;if (flag == 'Y' || flag == 'y'){cout << "请输入时间:";cin >> time;for (int j = 0; j < RecordNum; j++)if (myusers[usernum].myrecord[j].dishtable != 0)if(time == myusers[usernum].myrecord[j].dishtime)//if (strcmp(time, myusers[usernum].myrecord[j].dishtime) == 0) {flag1 = 1;myusers[usernum].myrecord[j].dishtable = 0;strcpy(myusers[usernum].myrecord[j].dishtime, "0");myusers[usernum].myrecord[j].pricesum = 0;for (int k = 0; k < DishMenuNum; k++)if (myusers[usernum].myrecord[j].dishmenu[k].dishprice != 0){myusers[usernum].myrecord[j].dishmenu[k].dishnamemyusers[usernum].myrecord[j].dishmenu[k].dishprice = 0;myusers[usernum].myrecord[j].dishmenu[k].dishgradenum = 0;}break;}if (flag1 == 1)cout << " 删除成功!" << endl;elsecout << " 输入错误!" << endl;}}void User::Order() //点菜管理{int s;do{cout << endl;cout << " ★★酒店点菜管理系统★★ \n";cout << "┌─────────────── ┐\n";cout << "│请选择您所需的操作│\n";cout << "│菜单点菜:1,并按回车键│\n";cout << "│历史查询:2,并按回车键│\n";cout << "│信息更改:3,并按回车键│\n";cout << "│退出系统:4,并按回车键│\n";cout << "└┘\n";cout << " 请选择一个操作:";cin >> s;switch (s){case 1:GetDish();YourDish();Add();Save();break;case 2: History(); break;case 3:Change();Save(); break;case 4:exit(0);//强制结束程序运行!break;default:cout << "输入错误,请重新1-4 输入" << endl; break;}} while (1);}二、调试分析1. 问题:“ myusers[usernum].myrecord[i].dishtime = menu.dishtime;”表达式必须是可修改的左值。

餐饮类计算机实习报告

餐饮类计算机实习报告

一、实习目的随着我国餐饮行业的快速发展,计算机技术的应用日益广泛。

为了更好地了解餐饮行业的信息化建设,提高自己的专业技能,我于近期参加了餐饮类计算机实习。

本次实习旨在:1. 熟悉餐饮行业的计算机应用现状和发展趋势;2. 掌握餐饮管理软件的操作方法,提高自己的实际操作能力;3. 通过实习,锻炼自己的团队协作和沟通能力。

二、实习时间及地点实习时间为2023年3月至2023年5月,实习地点为某大型餐饮企业。

三、实习内容1. 餐饮管理软件的学习与应用在实习期间,我主要学习了餐饮管理软件的操作方法,包括订单管理、库存管理、财务管理、员工管理等模块。

通过实际操作,我对餐饮管理软件有了更深入的了解,并掌握了以下技能:(1)订单管理:能够熟练地录入、修改、删除订单,对订单进行分类统计,便于管理者分析营业情况;(2)库存管理:能够实时监控库存情况,及时补充库存,避免因库存不足或过剩而影响餐厅运营;(3)财务管理:能够准确记录各项收入、支出,生成财务报表,便于管理者掌握餐厅的财务状况;(4)员工管理:能够对员工信息进行录入、修改、删除,对员工进行分类统计,便于管理者进行绩效考核。

2. 餐饮行业信息化建设现状的了解在实习过程中,我了解到餐饮行业信息化建设已取得显著成果,主要体现在以下几个方面:(1)餐饮管理软件的应用:大多数餐饮企业已开始使用餐饮管理软件,提高了餐厅的运营效率;(2)移动支付普及:随着移动支付的普及,餐饮行业支付方式逐渐从现金支付转变为移动支付,提高了支付效率;(3)智能设备的应用:部分餐饮企业已开始使用智能设备,如智能点餐机、智能收银机等,提高了餐厅的服务水平。

3. 团队协作与沟通能力的锻炼在实习期间,我与团队成员共同完成了多项任务,如软件操作培训、数据统计、问题解决等。

通过这些任务,我学会了如何与团队成员有效沟通,提高了自己的团队协作能力。

四、实习感想及总结通过本次餐饮类计算机实习,我深刻认识到计算机技术在餐饮行业的重要性。

计算机专业毕业设计论文-范例3篇

计算机专业毕业设计论文-范例3篇

计算机专业毕业设计论文-范例第一篇:基于Android平台的餐厅点餐系统设计与实现摘要:本文主要介绍了一种基于Android平台的餐厅点餐系统的设计与实现。

本系统主要包括客户端和服务端两部分。

客户端可以通过扫描桌面上的二维码进入点餐界面,选择菜品并提交订单。

服务端接收订单并处理,同时向厨房输出菜单。

该系统可以大大简化客户和服务员之间的交流过程,提高餐厅的效率和服务质量。

关键词:Android平台,餐厅点餐系统,客户端,服务端第一章绪论1.1 选题背景目前,餐饮业是一个竞争非常激烈的行业。

传统的餐厅点餐方式存在许多弊端,如客户需要等待服务员的询问、服务员需反复确认等,导致了许多不必要的时间浪费。

因此,为了更好地满足顾客需求,提高餐厅的效率和服务质量,开发一种便捷、快速的餐厅点餐系统具有现实意义。

1.2 研究目的本论文主要研究一种基于Android平台的餐厅点餐系统,其主要目的是:1. 提供一种便捷、快速的点餐方式,缩短服务时间,提高顾客用餐体验。

2. 简化服务员与顾客之间的交流,提高服务效率和减少人工成本。

3. 提高餐厅的管理效率,从而增强竞争力。

1.3 研究内容本论文主要涉及以下方面的内容:1. 设计实现基于Android平台的点餐系统客户端。

2. 设计实现基于Java语言的点餐系统服务端。

3. 建立数据库设计并存储菜品和用户信息。

4. 探讨该系统的实现方法以及存在的问题和解决方案。

第二章系统设计2.1 系统总体设计Android客户端和Java服务器群件相互配合,本系统采用了C/S模式的设计方式。

客户端通过WiFi与服务器端网络交互。

2.2 客户端的设计与实现客户端界面采用了Android Studio开发工具。

客户端主要功能分为登录、菜品选购和订单信息查看。

2.3 服务端的设计与实现服务端采用Java语言进行编写,功能分为价格管理、订单处理和菜单管理。

使用Http协议进行网络传输。

2.4 数据库设计本系统采用MySQL数据库进行存储,包括用户信息、订单信息、菜品信息和价格信息等。

c程序实践报告范文c语言实践报告范文

c程序实践报告范文c语言实践报告范文做完这个课程设计,我们的自信一下子提高了;尽管对于有些人这种程序会很简单,可对我们c语言初学者来说,已经很不容易了。

这次体验为以后的学习计算机的我们增强了信心。

享受劳动成果的滋味实在很美妙啊!虽然对着电脑做程序,有点累有点热,可是当看到劳动成果时,真是别有一番滋味在心头啊!世上无难事,只怕有心人,的确如此。

做完这个程序最大的收获就是感受到了集体的力虽,当然个人的智慧也是很重要的哦!忙碌了一个多星期,在大家的共同努力下,我们总算将此程序设计出来。

尽管不是自己独立完成,但仍然很高兴,因为在设计的过程中,让我了解到要设计一个程序,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计出自己想要的程序,这过程艰辛,但只要你持之以恒,成功指日可待。

另外平时扎实的基础也很关键,因为如果你平时学得就不怎么样,那么你面对这么一个比较有难度的程序,你可能会望而却步,看他人的程序都是个难点,更别说让你自己去设计。

为了解决此。

类问题,最好就是多向同学,老师请教,不要怕难为情。

c语言课程设计和现代计算机技术的实际应用相结合,是我们在本阶段学完理论课程之后对自己该方面的能力的一次很好的检验,从开始的算法思路到运行调试后的美观的图形界面以及另人兴奋的可用程序,都是一个很好的学习和锻炼的过程。

使我们巩固了原有的理论知识,培养了我们灵活运用和组合集成所学过知识及技能来分析、解决实际问题的能力。

使我们体会到自身知识和能力能在实际中的应用和发挥。

不但可以激发创新意识,还可以开发创造能力、培养沟通能力。

这次实习时间虽然仅有一个星期,但确实使我受益非浅。

通过实习我丰富了计算机操作经验,更加深了对c语言的了解,熟悉了其环境,更增强了对turboc的使用技巧。

二十一世纪是计算机的世纪,是一个全新的世纪,计算机正逐步入侵我们的生活。

刚开始接触计算机的时候感觉很新奇,那时觉得计算机很神秘,于是就产生了以后一定要熟练掌控计算机的念头。

餐饮店计算机实习报告

实习报告一、实习背景与目的随着信息技术的不断发展,计算机技术在餐饮行业中的应用越来越广泛。

为了了解餐饮店计算机系统的运作流程,提高自己的实际操作能力,我选择了在某餐饮店进行为期一个月的计算机实习。

此次实习的主要目的是:1. 熟悉餐饮店计算机系统的操作流程,掌握相关软件的使用方法。

2. 了解餐饮店信息化管理的好处,提高自己的信息化素养。

3. 锻炼自己的沟通协调能力,为今后的工作打下基础。

二、实习内容与过程1. 实习岗位与任务我在实习期间担任的是餐饮店收银员助理,主要负责协助收银员使用计算机系统进行结账、查询订单等工作。

2. 实习具体内容(1)计算机操作培训:在实习初期,我对餐饮店所使用的计算机系统进行了培训,学习了如何使用收银软件、库存管理软件等。

(2)实际操作:在培训结束后,我开始参与到实际的收银工作中,掌握了计算机系统结账、查询订单、修改价格等操作。

(3)数据整理与分析:利用计算机系统对销售数据进行整理和分析,为餐饮店制定进货计划和销售策略提供依据。

(4)解决故障:在实习过程中,遇到了计算机系统故障,我与技术人员共同排查原因,并提出了解决方案。

三、实习收获与感想1. 技能提升:通过实习,我熟练掌握了餐饮店计算机系统的操作流程,提高了自己的计算机操作能力。

2. 信息化观念:我深刻认识到信息化管理在餐饮行业中的重要性,为今后的工作提供了新的思路。

3. 团队协作:在实习过程中,我与同事们共同解决了许多实际问题,锻炼了团队协作能力。

4. 职业规划:通过实习,我对餐饮行业有了更深入的了解,为今后的职业规划提供了参考。

四、实习总结通过此次实习,我对餐饮店计算机系统的运作有了更深入的了解,提高了自己的实际操作能力。

同时,我也认识到自己在沟通、协作等方面的不足,需要在今后的学习和工作中继续努力。

总之,这次实习让我收获颇丰,对我的职业发展具有重要意义。

C#餐饮管理系统设计报告

Windows程序设计实训报告(计算机与软件学院)设计课题:餐饮管理系统专业班级:计算机网络技术1001班学生姓名:*****学生学号:******指导教师:*****目录第一章餐饮信息管理系统的开发背景 (1)1.1开发背景 (1)1.2开发工具 (1)第二章系统定义与系统需求 (2)2.1系统定义 (2)2.2系统需求分析 (2)第三章系统总体设计 (3)3.1系统功能模块的划分 (3)3.2管理员权限模块划分 (4)3.3员工权限模块划分 (4)3.4系统流程分析 (5)3.5数据库设计 (5)3.5.1 数据库规划 (5)3.5.2 E-R图 (6)3.5.3 数据表的设计 (6)第四章系统详细设计 (7)4.1用户登陆模块 (7)4.2系统主界面 (9)4.3点菜界面 (10)4.4食品信息界面 (10)4.5职员信息界面 (11)总结 (12)参考文献 (12)摘要:随着经济的发展社会的进步,去饭店过节聚会成为了一种新的时尚。

因此每逢过年过节,饭店都会迎来大量的顾客,随之而来的就是大量的预定和结算信息将会使得饭店的工作人员不堪重负,并且不可避免的会出现这样或那样的错误。

餐饮信息管理软件的诞生可以为他们提供便捷的管理服务。

并且几乎为零的错误率也使得餐馆可以更好的为顾客服务。

它不仅可以为餐馆降低人力资源的付出,节省了成本,而且也可以提升自身的形象,使餐厅迎来更多的食客。

本系统使用了C#技术,饭店服务人员使用它可以快速准确地为客户服务,人性化的系统界面设计使得软件便于使用者的快速掌握,计算机几乎为零的错误率和高效的处理能力使得原本繁琐的餐饮管理变得更加科学、快捷以及人性化。

使用本系统,员工将可以快速地编辑顾客资料信息。

管理员使用本系统,既可以完成员工的所有工作,又可以更好地管理员工,精准地了解员工账面的资金情况。

关键字:餐饮管理;C#窗口程序设计;餐饮软件第一章餐饮信息管理系统的开发背景1.1 开发背景传统的餐饮管理现在已经很难应对当今社会对餐饮业的管理要求,它与现在的基于计算机技术发展起来的餐饮信息管理系统对比,有以下几大不同:便捷性方面:传统的人工对餐饮信息进行管理,如:顾客信息管理,菜单信息管理和订餐信息的管理,都是很繁琐的过程,其中的任何一步过程都要浪费大量的时间,而随着计算机技术的发展,这些原本繁琐的问题都会变得轻而易举。

C程序设计实践报告

C程序设计实践报告一、引言C语言作为一种高效、可移植的编程语言,被广泛应用于各个领域的软件开发中。

在本学期的C程序设计课程中,我们通过掌握C语言的基本语法,学习了如何使用C语言进行程序开发。

通过对课程内容的学习和实践,我在编写C程序方面取得了一定的进展。

本报告将对我在C程序设计课程中进行的实践活动进行总结,并对所取得的成果进行分析和评价。

二、实践活动的描述在C程序设计课程中,我完成了多个小型项目的开发,如计算器程序、学生信息管理系统等。

通过这些实践活动,我深入了解了C语言的基本语法和常用函数,并且掌握了如何使用这些知识进行程序开发。

在计算器程序的开发中,我学会了如何使用条件语句和循环语句进行逻辑判断和循环操作。

我还学会了如何定义和使用函数,从而实现程序的模块化。

通过这个项目,我巩固了自己对C语言的掌握程度,也提高了自己的编程能力。

在学生信息管理系统的开发中,我学会了如何使用结构体和指针来管理复杂的数据结构。

我还学会了如何通过文件读写来实现数据的永久存储。

通过这个项目,我更加深入地理解了C语言的一些高级特性,为以后更复杂的程序开发打下了基础。

三、成果分析和评价通过这些实践活动,我取得了一些成果。

首先,我掌握了C语言的基本语法和常用函数,能够熟练地编写C程序。

我能够使用条件语句和循环语句进行逻辑判断和循环操作,能够定义和使用函数,实现程序的模块化。

其次,我学会了如何使用结构体和指针来管理复杂的数据结构。

结构体可以帮助我定义和组织多个相关变量,简化程序的设计和开发过程。

指针则可以帮助我操作内存中的数据,提高程序的运行效率和资源利用率。

最后,我学会了如何通过文件读写来实现数据的永久存储。

这对于需要保存大量数据的程序来说非常重要。

通过文件读写,我可以将数据保存在磁盘中,避免数据的丢失和重复输入。

总的来说,通过这些实践活动,我对C语言的掌握程度有了一定的提高。

我感觉自己在编写C程序方面更加熟练,能够解决一些简单的编程问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

餐饮大众点评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();//得到astring 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();//得到rrint getall();//得到allint gettaste();//得到tasteint getenvironment();//得到environmentint getserve();//得到servevoid 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; //菜品类对象myMenuRemark 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.get NumOfNam(xx,yy,zz)-1].Choose(d)”【注释③④】,即根据用户所选,调用评分类中的函数进行选项中的操作4.如果d等于4,则调用Ranking()函数5.如果d等于5,则break,退出循环Find():对用户输入的餐厅进行查找1.让用户输入想要查找的餐厅,将其赋值给refectory2.执行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():输出所选餐厅菜系的菜名单目,返回值为用户所选的菜名1.用for循环语句判断当前这家餐厅所有菜系中共有多少道菜,即j的大小2.用for循环语句循环j次,输出这家餐厅的所有菜名及其评分。

循环内执行“p=myMenu.getNumOfNam(xx,yy,i+1)-1;cout<<myMenu.getnam(xx-1,yy-1,i)<<""<<myRem ark[p].getRemrk()<<"分"”【注释③④】Hot():按餐厅的评分排名输出热门餐厅以供用户选择1.执行for循环语句,将所有餐厅的评分依次放在rank数组里“rank[i]=allall(i)”(allall(x):根据参数x的值返回餐厅评分)2.运用for循环套嵌,把上述rank数组中的评分数从大到小进行排序3.再运用for循环套嵌,实现按照评分的排序将餐厅排序,再把排名放在c数组里。

相关文档
最新文档