编写程序实现:有一栋9层高的宿舍,每层各有24间房间,请随机生成n间宿舍存放在列表dorm_list中给网络系使用,其中n由用户输入,寝室编码为x0y,x为楼层,y为宿舍编号。
时间: 2024-04-30 10:20:04 浏览: 165
下面是 Python 代码实现:
```python
import random
n = int(input("请输入宿舍数量:"))
dorm_list = []
for i in range(n):
floor = random.randint(1, 9) # 随机生成楼层
room_num = random.randint(1, 24) # 随机生成宿舍编号
dorm = f"x{floor}y{room_num}"
dorm_list.append(dorm)
print("生成的宿舍列表:", dorm_list)
```
运行程序后,用户需要输入宿舍数量,程序会随机生成指定数量的宿舍编号并存放在列表 `dorm_list` 中,最后打印出列表中的所有宿舍编号。
相关问题
请用C++语言写出以下能完整运行的程序并注释 题目:学生宿舍管理系统设计 功能:实现简单的学生宿舍基本信息管理,宿舍的基本信息包括楼号、房间号、面积、所容纳人数、已入住人数等基本要求:1设计简单的菜单,能够进行系统功能选择。2实现信息的录入功能。3在已有信 息的基础上添加新的记录。4删除指定房间号的记录。5修改指定房间号的记录 6实现信 息的浏览功能7按房间号查询功能 8按已入住人数排序功能
很高兴帮您写出该程序。以下是一个简单的学生宿舍管理系统设计的 C++ 程序,带有注释解释每个部分的功能:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// 学生宿舍信息结构体
struct Dormitory {
int building_number; // 楼号
int room_number; // 房间号
double area; // 面积
int capacity; // 容纳人数
int occupied; // 已入住人数
// 重载小于运算符,用于排序
bool operator < (const Dormitory &dorm) const {
return occupied < dorm.occupied;
}
// 打印宿舍信息
void print() const {
cout << "楼号: " << building_number << endl;
cout << "房间号: " << room_number << endl;
cout << "面积: " << area << endl;
cout << "容纳人数: " << capacity << endl;
cout << "已入住人数: " << occupied << endl;
}
};
// 学生宿舍管理系统类
class DormitoryManagementSystem {
public:
// 构造函数
DormitoryManagementSystem() {
// 初始化宿舍信息
dorms.push_back({ 1, 101, 25.5, 4, 2 });
dorms.push_back({ 1, 102, 30.1, 3, 1 });
dorms.push_back({ 2, 201, 27.8, 2, 0 });
dorms.push_back({ 2, 202, 28.5, 2, 1 });
dorms.push_back({ 3, 301, 35.2, 4, 3 });
dorms.push_back({ 3, 302, 36.4, 4, 4 });
}
// 显示菜单
void show_menu() {
cout << "学生宿舍管理系统菜单" << endl;
cout << "1. 录入宿舍信息" << endl;
cout << "2. 添加宿舍信息" << endl;
cout << "3. 删除宿舍信息" << endl;
cout << "4. 修改宿舍信息" << endl;
cout << "5. 浏览宿舍信息" << endl;
cout << "6. 按房间号查询宿舍信息" << endl;
cout << "7. 按已入住人数排序宿舍信息" << endl;
cout << "0. 退出" << endl;
}
// 录入宿舍信息
void enter_dorm_info() {
Dormitory dorm;
cout << "请输入宿舍信息:" << endl;
cout << "楼号: ";
cin >> dorm.building_number;
cout << "房间号: ";
cin >> dorm.room_number;
cout << "面积: ";
cin >> dorm.area;
cout << "容纳人数: ";
cin >> dorm.capacity;
cout << "已入住人数: ";
cin >> dorm.occupied;
dorms.push_back(dorm);
cout << "录入成功!" << endl;
}
// 添加宿舍信息
void add_dorm_info() {
int room_number;
cout << "请输入要添加信息的宿舍房间号: ";
cin >> room_number;
auto iter = find_if(dorms.begin(), dorms.end(), [room_number](const Dormitory &dorm) {
return dorm.room_number == room_number;
});
if (iter == dorms.end()) {
cout << "宿舍信息不存在!" << endl;
}
else {
Dormitory dorm;
cout << "请输入宿舍信息:" << endl;
cout << "楼号: ";
cin >> dorm.building_number;
cout << "房间号: ";
cin >> dorm.room_number;
cout << "面积: ";
cin >> dorm.area;
cout << "容纳人数: ";
cin >> dorm.capacity;
cout << "已入住人数: ";
cin >> dorm.occupied;
*iter = dorm;
cout << "添加成功!" << endl;
}
}
// 删除宿舍信息
void delete_dorm_info() {
int room_number;
cout << "请输入要删除信息的宿舍房间号: ";
cin >> room_number;
auto iter = find_if(dorms.begin(), dorms.end(), [room_number](const Dormitory &dorm) {
return dorm.room_number == room_number;
});
if (iter == dorms.end()) {
cout << "宿舍信息不存在!" << endl;
}
else {
dorms.erase(iter);
cout << "删除成功!" << endl;
}
}
// 修改宿舍信息
void modify_dorm_info() {
int room_number;
cout << "请输入要修改信息的宿舍房间号: ";
cin >> room_number;
auto iter = find_if(dorms.begin(), dorms.end(), [room_number](const Dormitory &dorm) {
return dorm.room_number == room_number;
});
if (iter == dorms.end()) {
cout << "宿舍信息不存在!" << endl;
}
else {
Dormitory dorm;
cout << "请输入宿舍信息:" << endl;
cout << "楼号: ";
cin >> dorm.building_number;
cout << "房间号: ";
cin >> dorm.room_number;
cout << "面积: ";
cin >> dorm.area;
cout << "容纳人数: ";
cin >> dorm.capacity;
cout << "已入住人数: ";
cin >> dorm.occupied;
*iter = dorm;
cout << "修改成功!" << endl;
}
}
// 浏览宿舍信息
void browse_dorm_info() {
cout << "所有宿舍信息:" << endl;
for (const auto &dorm : dorms) {
dorm.print();
cout << endl;
}
}
// 按房间号查询宿舍信息
void search_dorm_info() {
int room_number;
cout << "请输入要查询信息的宿舍房间号: ";
cin >> room_number;
auto iter = find_if(dorms.begin(), dorms.end(), [room_number](const Dormitory &dorm) {
return dorm.room_number == room_number;
});
if (iter == dorms.end()) {
cout << "宿舍信息不存在!" << endl;
}
else {
iter->print();
}
}
// 按已入住人数排序宿舍信息
void sort_dorm_info() {
sort(dorms.begin(), dorms.end());
cout << "按已入住人数排序后的宿舍信息:" << endl;
for (const auto &dorm : dorms) {
dorm.print();
cout << endl;
}
}
// 运行学生宿舍管理系统
void run() {
while (true) {
show_menu();
int choice;
cout << "请输入您的选择: ";
cin >> choice;
switch (choice) {
case 1:
enter_dorm_info();
break;
case 2:
add_dorm_info();
break;
case 3:
delete_dorm_info();
break;
case 4:
modify_dorm_info();
break;
case 5:
browse_dorm_info();
break;
case 6:
search_dorm_info();
break;
case 7:
sort_dorm_info();
break;
case 0:
cout << "谢谢使用!再见!" << endl;
return;
default:
cout << "选择无效!请重新输入!" << endl;
break;
}
}
}
private:
vector<Dormitory> dorms; // 存储宿舍信息
};
// 主函数
int main() {
DormitoryManagementSystem system;
system.run();
return 0;
}
```
这是一个比较简单的程序,但它具备了题目中要求的所有功能。您可以根据需要进行修改和扩展。
编写程序,自动生成宿舍组合名
您好!感谢您使用 C知道,我很乐意回答您的问题。对于自动生成宿舍组合名的问题,您可以考虑使用随机数生成器,从事先准备好的宿舍名和字母组合中随机选择。以下是一个简单的 Python 代码示例:
import random
dorms = ['A', 'B', 'C', 'D']
letters = [chr(i) for i in range(ord('A'), ord('Z')+1)]
def generate_combination():
dorm = random.choice(dorms)
letter1 = random.choice(letters)
letter2 = random.choice(letters)
number = random.randint(1, 99)
return dorm + letter1 + letter2 + str(number)
print(generate_combination())
请注意,此代码仅供参考,您可以根据自己的需求进行修改和优化。希望对您有所帮助!
阅读全文
相关推荐













