网站模板文件下载珠市口网站建设

当前位置: 首页 > news >正文

网站模板文件下载,珠市口网站建设,网站建设评判标准,建一个网站多少钱?#x1f449;博主#x1f448;#xff1a;米码收割机 #x1f449;技能#x1f448;#xff1a;C/Python语言 #x1f449;专注#x1f448;#xff1a;专注主流机器人、人工智能等相关领域的开发、测试技术。 系列文章目录 目录 系列文章目录一、设计要求二、设… 博主米码收割机 技能C/Python语言 专注专注主流机器人、人工智能等相关领域的开发、测试技术。 系列文章目录 目录 系列文章目录一、设计要求二、设计思路1. 日期类 Data2. 房间类 Room3. 客人类 Guest4. 管理类 Manage(1) 数据读写操作(2) 房间管理与客房入住/退房(3) 信息显示与查询(4) 文件写入辅助函数 5. 主函数与菜单交互总结 三、可视化分析 一、设计要求 某旅馆有n个等级的房间第I等级有a个房间每个等级的房间有b个床位(1in)。试模拟旅馆管理系统中床位分配和回收的功能设计能为单个旅客分配床位在其离店便回收床位(供下次分配)的算法。 旅客登记即为旅客分配床位。输入旅客姓名、年龄、性别、到达日期和所需房间等级。分配成功时打印旅客姓名、年龄、到达日期、房间等级、房间号码和床位号码。分配不成功时如所有等级均无床位则打印“客满”信息;如旅客需要的等级均无空床。位则打印“是否愿意更换等级?”的询问信息。若旅客愿意更换则重新输入有关信息再进行分配否则分配工作结束; 旅客离开时即进行床位回收。输入房间等级、房间号和床位号。 1使用面向对象编程思想编写开发过程中需要用到的类比如至少包含四个类日 期类客房类主要包含客房信息房号类型是否有客人等及相关操作客人类主要完 成客户信息身份证入住时间姓名性别等的相关操作管理类实现对客房的管理。 2输入和输出可以使用文本文件重定向输入保存数据为磁盘文件也可以使用标 准输入输出进行提交时需要提交TXT格式输入数据。比如room.txt 的文件文件中应包含 20 条以上记录房间的初始状态guest.txt 的文本文件包含 10 条以上客人记录。 在运行程序时自动载入。 3基本功能要求具有增、删、改、查。 主要功能包括房间信息的录入客人入住房间等级、顾客退房结账所有房间信息显示、顾客信息显示、查询所有空房间、查询指定的房间号退出系统。 二、设计思路 下面给出本代码的设计思路说明程序实现了一个简单的宾馆房间管理系统主要模块包括 日期类Data房间类Room客人类Guest管理类Manage及其各种操作函数主函数与菜单交互

  1. 日期类 Data 设计思路 用于记录交易入住、退房等的时间信息年、月、日。提供设置日期和获取各个属性值的成员函数。 关键代码 class Data // 日期类记录交易时间 { public:Data() {} // 缺省构造函数~Data() {} // 析构函数// 接收输入的日期// 此处略去至少20行代码private:int year;int month;int day; };2. 房间类 Room 设计思路 用于表示宾馆中的房间信息。数据成员包括房号Number、房间类型Type、房间状态Whether用于标记是否有客人入住状态值为“有”或“无”及价格Price。提供基本信息输入函数、状态设置、以及显示房间信息的show()函数。 关键代码 class Room { public:Room* r[Max]; // 房间对象指针数组在管理类中会用到int Room_count; // 记录房间数量// 构造函数Room(int Number, string Type, double Price, string Whether) {this-Number Number;this-Type Type;this-Whether Whether;this-Price Price;}// 获取房间各项属性int InputNumber() { return Number; }string InputType() { return Type; }string InputWhether() { return Whether; }// 此处略去至少20行代码 protected:int Number; // 房号 string Type; // 房间类型 string Whether; // 是否有客人 double Price; // 价格 };3. 客人类 Guest 设计思路 用于存储入住客户的详细信息。数据成员包括 房号number对应入住房间号顾客姓名Name身份证号Id性别sex入住时间Intime入住天数days 提供各属性的获取函数和显示函数show()用于输出客人信息。 关键代码 class Guest { public:Guest* g[Max]; // 客人对象指针数组由管理类使用int Guest_count; // 记录客人数量// 构造函数Guest(int number, string Name, int Id, string sex, string Intime, int days) {this-number number;this-Name Name;this-Id Id;this-sex sex;this-Intime Intime;this-days days;}// 获取客人各项属性// 此处略去至少20行代码 protected:int number; // 房号 string Name; // 顾客姓名 int Id; // 身份证号 string sex; // 性别 string Intime; // 入住时间 int days; // 入住天数 };4. 管理类 Manage 设计思路 管理类负责宾馆系统的所有操作包括房间信息的录入、客人入住登记Check_In、退房结账Check_Out、信息显示、查询以及文件读写。 主要模块功能如下 (1) 数据读写操作 ReadData() 从文件“room.txt”、“guest.txt”读取房间及客人数据并更新相应数组与数量计数器。WriteData(int n) 根据参数n将房间信息n1或客人信息n2写入文件。WriteRoom()和WriteGuest() 分别实现单个房间和单个客人信息的写入追加模式。 关键代码摘录 void Manage::ReadData() {fstream Rin, Gin;Rin.open(room.txt, ios::in);if (!Rin) {cout 未找到room文件请先建立文件! endl;return;}// 此处略去至少20行代码Gin.open(guest.txt, ios::in);if (!Gin) {cout 未找到guest文件请先建立文件! endl;return;}Guest_count 0;while (!Gin.eof()) {string name, intime, sex;int days, number;int id;Gin number name id sex intime days;g[Guest_count] new Guest(number, name, id, sex, intime, days);}Gin.close(); }void Manage::WriteData(int n) {switch (n) {case 1: {ofstream Rout(room.txt, ios::trunc);for (i 0; i Room_count - 1; i) {if (r[i] ! NULL) {WriteRoom(r[i]);}}Rout.close();break;}// 此处略去至少20行代码Gout.close();break;}} }(2) 房间管理与客房入住/退房 IncreaseRoom() 添加房间信息读取用户输入后调用WriteRoom()将新房间信息写入文件。Check_In() 进行客人入住登记读取房间文件、显示空房信息调用SearchType()接收客人信息更新房间状态为“有”并将客人信息写入文件。Check_Out() 客人退房结账调用Payment()获取客人在数组中的下标查找对应房间更改状态为“无”计算消费金额房价×入住天数并更新数据。 关键代码摘录 void Manage::IncreaseRoom() {string type, Whether;double price;int number;cout 请输入房号: ; cin number;cout 请输入房间类型: ; cin type;cout 请输入价格: ; cin price;cout 请输入房间状态: ; cin Whether;WriteRoom(new Room(number, type, price, Whether)); }void Manage::Check_In() {ReadData();SearchType(); // 显示空房信息供用户选择string name, intime, sex;int days, number;int id;cout 请输入房号: ; cin number;cout 请输入顾客的姓名: ; cin name;cout 请输入顾客的身份证号: ; cin id;cout 请输入顾客的性别: ; cin sex;cout 请输入入住日期: ; cin intime;cout 请输入入住天数: ; cin days;// 此处略去至少20行代码} }void Manage::Check_Out() {int x Payment();// 此处略去至少20行代码g[x] NULL;WriteData(2); }(3) 信息显示与查询 Display(int n) 根据参数n显示所有房间n1或顾客信息n2。SearchMenu()、SearchType()、SearchNumber() SearchMenu()显示查询主菜单选择查询方式。SearchType()遍历所有房间显示状态为“无”的空房间信息。SearchNumber()根据输入的房间号查询房间和对应客户信息。
    关键代码摘录 void Manage::Display(int n) {ReadData();switch (n) {case 1:for (i 0; i Room_count - 1; i) {cout 房号 r[i]-InputNumber() \t房间类型: r[i]-InputType() \t房间价格: r[i]-InputPrice() \t房间状态: r[i]-InputWhether() endl endl;}break;case 2:for (i 0; i Guest_count - 1; i) {cout 房间号 g[i]-InputNumber() \t顾客姓名: g[i]-InputName() \t身份证号: g[i]-InputId() \t顾客性别 g[i]-InputSex() \t入住时间: g[i]-InputIntime() \t入住天数: g[i]-InputDays() endl endl;}break;} }// 此处略去至少20行代码} }(4) 文件写入辅助函数 WriteRoom(Room r) 与 WriteGuest(Guest g)** 将单个房间或客人信息追加写入对应的文件room.txt 或 guest.txt。 关键代码 void Manage::WriteRoom(Room* r) {ofstream Rout(room.txt, ios::app);Rout r-InputNumber() \t r-InputType() \t r-InputPrice() \t r-InputWhether() endl;Rout.close(); }void Manage::WriteGuest(Guest* g) {ofstream Gout(guest.txt, ios::app);Gout g-InputNumber() \t g-InputName() \t g-InputId() \t g-InputSex() \t g-InputIntime() \t g-InputDays() endl;Gout.close(); }5. 主函数与菜单交互 设计思路 在主函数中通过循环显示菜单选项清屏、菜单项选择并根据用户输入调用管理类中的对应功能。各功能完成后调用 _getch() 暂停界面等待用户按键后继续循环直到选择退出。 关键代码 int main() {Manage M;int n;while (1){system(cls);cout endl endl endl \t\t\t宾 馆 房 间 管 理 系 统 endl endl;cout \t\t\t1、房 间 信 息 的 录 入 endl endl;cout \t\t\t2、顾 客 入 住 房 间 登 记 endl endl;cout \t\t\t3、顾 客 退 房 结 账 endl endl;cout \t\t\t4、所 有 房 间 信 息 显 示 endl endl;cout \t\t\t5、所 有 顾 客 的 显 示 endl endl;cout \t\t\t6、查 询 所 有 空 房 间 endl endl;cout \t\t\t7、查 询 指 定 的 房 间 号 endl endl;cout \t\t\t8、退 出 系 统 endl endl;cout endl 请选择: ;cin n;cout endl endl;switch (n){case 1: M.IncreaseRoom(); _getch(); break;case 2: M.Check_In(); _getch(); break;case 3: M.Check_Out(); _getch(); break;case 4: M.Display(1); _getch(); break;case 5: M.Display(2); _getch(); break;case 6: M.SearchType(); _getch(); break;case 7: M.SearchNumber(); _getch(); break;case 8: exit(0);}}return 0; }总结 整个系统采用面向对象设计通过以下模块实现宾馆房间管理 Data 类 记录交易日期信息虽未在主要流程中使用可用于扩展记录交易时间。Room 类 表示房间信息包含房号、类型、状态、价格以及显示函数。Guest 类 存储客户入住信息支持属性获取和显示。Manage 类 核心管理模块负责房间信息录入、入住登记、退房结账、信息显示、数据文件的读写和查询功能。主函数 提供菜单界面通过循环与用户交互实现各项管理功能。 三、可视化分析 1打印功能信息
    2房间信息录入 3顾客入住房间登记 4顾客退房结账
    5所有房间信息显示 6所有顾客信息显示