设计一段宿舍管理系统的程序
时间: 2024-03-08 22:47:14 浏览: 117
宿舍管理系统程序设计1
好的,下面是一段简单的宿舍管理系统的程序:
```python
# 宿舍管理系统
# 定义学生类
class Student:
def __init__(self, name, id, dorm):
self.name = name # 学生姓名
self.id = id # 学生编号
self.dorm = dorm # 学生所在宿舍
# 定义宿舍类
class Dorm:
def __init__(self, id, capacity):
self.id = id # 宿舍编号
self.capacity = capacity # 宿舍容纳人数
self.students = [] # 学生列表
# 添加学生
def add_student(self, student):
if len(self.students) < self.capacity:
self.students.append(student)
return True
else:
return False
# 删除学生
def remove_student(self, student):
if student in self.students:
self.students.remove(student)
return True
else:
return False
# 定义宿舍楼类
class DormBuilding:
def __init__(self, name):
self.name = name # 宿舍楼名称
self.dorms = [] # 宿舍列表
# 添加宿舍
def add_dorm(self, dorm):
self.dorms.append(dorm)
# 根据宿舍编号查找宿舍
def find_dorm_by_id(self, id):
for dorm in self.dorms:
if dorm.id == id:
return dorm
return None
# 根据学生编号查找学生所在宿舍
def find_dorm_by_student_id(self, id):
for dorm in self.dorms:
for student in dorm.students:
if student.id == id:
return dorm
return None
# 初始化宿舍楼、宿舍和学生信息
building = DormBuilding("宿舍楼A")
dorm1 = Dorm(101, 2)
dorm2 = Dorm(102, 2)
building.add_dorm(dorm1)
building.add_dorm(dorm2)
student1 = Student("张三", "001", dorm1)
student2 = Student("李四", "002", dorm1)
student3 = Student("王五", "003", dorm2)
dorm1.add_student(student1)
dorm1.add_student(student2)
dorm2.add_student(student3)
# 主程序
while True:
print("欢迎使用宿舍管理系统,请输入相应的操作编号:")
print("1. 查询学生所在宿舍")
print("2. 查询宿舍内的学生")
print("3. 添加学生到宿舍")
print("4. 从宿舍删除学生")
print("5. 退出系统")
choice = input()
if choice == "1":
id = input("请输入学生编号:")
dorm = building.find_dorm_by_student_id(id)
if dorm:
print(f"{id}号学生所在宿舍为{dorm.id}")
else:
print(f"未找到学生{id}")
elif choice == "2":
id = input("请输入宿舍编号:")
dorm = building.find_dorm_by_id(id)
if dorm:
print(f"{id}号宿舍内的学生为:")
for student in dorm.students:
print(f"{student.name}({student.id})")
else:
print(f"未找到宿舍{id}")
elif choice == "3":
id = input("请输入学生编号:")
dorm = building.find_dorm_by_student_id(id)
if dorm:
print(f"{id}号学生已经在宿舍{dorm.id}中")
else:
name = input("请输入学生姓名:")
dorm_id = input("请输入宿舍编号:")
dorm = building.find_dorm_by_id(dorm_id)
if dorm:
student = Student(name, id, dorm)
if dorm.add_student(student):
print(f"{name}({id})已经添加到宿舍{dorm_id}中")
else:
print(f"宿舍{dorm_id}已经满员,无法添加学生")
else:
print(f"未找到宿舍{dorm_id}")
elif choice == "4":
id = input("请输入学生编号:")
dorm = building.find_dorm_by_student_id(id)
if dorm:
student = Student("", id, dorm)
if dorm.remove_student(student):
print(f"{id}号学生已经从宿舍{dorm.id}中删除")
else:
print(f"未找到学生{id}")
else:
print(f"未找到学生{id}")
elif choice == "5":
print("感谢使用宿舍管理系统,再见!")
break
else:
print("无效的操作编号,请重新输入")
```
这个程序实现了以下功能:
1. 查询学生所在宿舍
2. 查询宿舍内的学生
3. 添加学生到宿舍
4. 从宿舍删除学生
5. 退出系统
你可以根据实际需求进行修改和扩展。
阅读全文