python使用模块写一个宿舍管理系统
时间: 2023-07-20 10:12:50 浏览: 50
好的,宿舍管理系统可以包含以下功能:
1. 学生信息管理:包括添加学生信息、修改学生信息、查询学生信息、删除学生信息等功能;
2. 宿舍信息管理:包括添加宿舍信息、修改宿舍信息、查询宿舍信息、删除宿舍信息等功能;
3. 入住管理:包括学生入住、学生退房、查询入住信息等功能;
4. 统计管理:包括宿舍入住率统计、宿舍费用统计等功能。
下面是一个简单的宿舍管理系统的实现:
1. 学生信息管理模块:
```python
class Student:
def __init__(self, name, gender, department, grade, phone):
self.name = name
self.gender = gender
self.department = department
self.grade = grade
self.phone = phone
class StudentManager:
def __init__(self):
self.students = []
def add_student(self, student):
self.students.append(student)
def delete_student(self, name):
for student in self.students:
if student.name == name:
self.students.remove(student)
def modify_student(self, name, gender, department, grade, phone):
for student in self.students:
if student.name == name:
student.gender = gender
student.department = department
student.grade = grade
student.phone = phone
def search_student(self, name):
for student in self.students:
if student.name == name:
return student
def show_students(self):
for student in self.students:
print(student.name, student.gender, student.department, student.grade, student.phone)
```
2. 宿舍信息管理模块:
```python
class Dormitory:
def __init__(self, dorm_id, dorm_type, dorm_fee, dorm_status):
self.dorm_id = dorm_id
self.dorm_type = dorm_type
self.dorm_fee = dorm_fee
self.dorm_status = dorm_status
class DormitoryManager:
def __init__(self):
self.dormitories = []
def add_dormitory(self, dormitory):
self.dormitories.append(dormitory)
def delete_dormitory(self, dorm_id):
for dormitory in self.dormitories:
if dormitory.dorm_id == dorm_id:
self.dormitories.remove(dormitory)
def modify_dormitory(self, dorm_id, dorm_type, dorm_fee, dorm_status):
for dormitory in self.dormitories:
if dormitory.dorm_id == dorm_id:
dormitory.dorm_type = dorm_type
dormitory.dorm_fee = dorm_fee
dormitory.dorm_status = dorm_status
def search_dormitory(self, dorm_id):
for dormitory in self.dormitories:
if dormitory.dorm_id == dorm_id:
return dormitory
def show_dormitories(self):
for dormitory in self.dormitories:
print(dormitory.dorm_id, dormitory.dorm_type, dormitory.dorm_fee, dormitory.dorm_status)
```
3. 入住管理模块:
```python
class CheckinManager:
def __init__(self, student_manager, dormitory_manager):
self.student_manager = student_manager
self.dormitory_manager = dormitory_manager
self.checkins = []
def checkin(self, name, dorm_id):
student = self.student_manager.search_student(name)
dormitory = self.dormitory_manager.search_dormitory(dorm_id)
if student and dormitory and dormitory.dorm_status == '空闲':
dormitory.dorm_status = '已入住'
self.checkins.append((student, dormitory))
print('入住成功!')
else:
print('入住失败!')
def checkout(self, name, dorm_id):
student = self.student_manager.search_student(name)
dormitory = self.dormitory_manager.search_dormitory(dorm_id)
if student and dormitory and dormitory.dorm_status == '已入住':
dormitory.dorm_status = '空闲'
self.checkins.remove((student, dormitory))
print('退房成功!')
else:
print('退房失败!')
def search_checkin(self, name):
for checkin in self.checkins:
if checkin[0].name == name:
print(checkin[0].name, checkin[1].dorm_id)
def show_checkins(self):
for checkin in self.checkins:
print(checkin[0].name, checkin[1].dorm_id)
```
4. 统计管理模块:
```python
class StatisticsManager:
def __init__(self, dormitory_manager, checkin_manager):
self.dormitory_manager = dormitory_manager
self.checkin_manager = checkin_manager
def dormitory_occupancy_rate(self, dorm_type):
dormitories = self.dormitory_manager.dormitories
count = 0
for dormitory in dormitories:
if dormitory.dorm_type == dorm_type and dormitory.dorm_status == '已入住':
count += 1
occupancy_rate = count / len(dormitories)
print(dorm_type + '入住率为:' + str(occupancy_rate))
def dormitory_fee_statistics(self, dorm_type):
dormitories = self.dormitory_manager.dormitories
total_fee = 0
for dormitory in dormitories:
if dormitory.dorm_type == dorm_type and dormitory.dorm_status == '已入住':
total_fee += dormitory.dorm_fee
print(dorm_type + '总费用为:' + str(total_fee))
```
以上就是一个简单的宿舍管理系统的实现。在实际开发中,还可以加入更多的功能,例如管理员登录、密码验证、异常处理等。