用C++写一个酒店入住的增删改查
时间: 2023-10-05 18:12:46 浏览: 38
好的,以下是一个简单的酒店入住的增删改查的 C++ 代码示例:
```c++
#include <iostream>
#include <vector>
#include <string>
using namespace std;
struct Guest {
string name;
int room_number;
int nights;
};
vector<Guest> guests;
void add_guest() {
Guest guest;
cout << "请输入入住客人的姓名:";
cin >> guest.name;
cout << "请输入入住客房号:";
cin >> guest.room_number;
cout << "请输入入住天数:";
cin >> guest.nights;
guests.push_back(guest);
cout << "入住信息已添加!" << endl;
}
void delete_guest() {
int room_number;
cout << "请输入要删除的客房号:";
cin >> room_number;
for (auto it = guests.begin(); it != guests.end(); ++it) {
if (it->room_number == room_number) {
guests.erase(it);
cout << "入住信息已删除!" << endl;
return;
}
}
cout << "未找到该客房号的入住信息!" << endl;
}
void update_guest() {
int room_number;
cout << "请输入要修改的客房号:";
cin >> room_number;
for (auto it = guests.begin(); it != guests.end(); ++it) {
if (it->room_number == room_number) {
cout << "请输入修改后的入住客人的姓名:";
cin >> it->name;
cout << "请输入修改后的入住天数:";
cin >> it->nights;
cout << "入住信息已修改!" << endl;
return;
}
}
cout << "未找到该客房号的入住信息!" << endl;
}
void search_guest() {
int room_number;
cout << "请输入要查询的客房号:";
cin >> room_number;
for (auto it = guests.begin(); it != guests.end(); ++it) {
if (it->room_number == room_number) {
cout << "入住客人的姓名:" << it->name << endl;
cout << "入住天数:" << it->nights << endl;
return;
}
}
cout << "未找到该客房号的入住信息!" << endl;
}
void print_menu() {
cout << "1. 添加入住信息" << endl;
cout << "2. 删除入住信息" << endl;
cout << "3. 修改入住信息" << endl;
cout << "4. 查询入住信息" << endl;
cout << "5. 退出系统" << endl;
}
int main() {
while (true) {
print_menu();
int choice;
cout << "请输入您的选择:";
cin >> choice;
switch (choice) {
case 1:
add_guest();
break;
case 2:
delete_guest();
break;
case 3:
update_guest();
break;
case 4:
search_guest();
break;
case 5:
cout << "欢迎下次再来!" << endl;
return 0;
default:
cout << "输入有误,请重新输入!" << endl;
}
}
}
```
这个程序使用了一个 `vector` 存储所有的入住客人信息,通过循环遍历容器来实现增删改查功能。每个操作都有对应的函数,用户通过输入数字选择要执行的操作。