设计一个学生管理系统,完成学生基本信息(包括学号、姓名和性别)的添加、删除、查询、显示、保存(将数据保存到文件)、读取(从文件读取数据)和退出系统功能
时间: 2023-07-10 12:21:30 浏览: 64
学生信息管理系统,实现学生信息包括:学号、姓名、性别、年龄、班级等信息。
5星 · 资源好评率100%
好的,我可以为您设计一个简单的学生管理系统。该系统可以完成学生基本信息的添加、删除、查询、显示、保存和读取功能。
首先,我们需要定义一个学生类,包括学号、姓名和性别属性,以及相应的 getter 和 setter 方法。代码如下:
```
class Student:
def __init__(self, stu_id, name, gender):
self.stu_id = stu_id
self.name = name
self.gender = gender
def get_stu_id(self):
return self.stu_id
def set_stu_id(self, stu_id):
self.stu_id = stu_id
def get_name(self):
return self.name
def set_name(self, name):
self.name = name
def get_gender(self):
return self.gender
def set_gender(self, gender):
self.gender = gender
```
接下来,我们可以定义一个管理系统类,该类包含添加、删除、查询、显示、保存和读取等方法。其中,添加方法可以向系统中添加一个新的学生信息;删除方法可以根据学号删除指定学生信息;查询方法可以根据学号查询指定学生信息;显示方法可以展示系统中所有学生信息;保存方法可以将系统中的数据保存到文件中;读取方法可以从文件中读取数据,并更新到系统中。代码如下:
```
import pickle
class StudentSystem:
def __init__(self):
self.students = []
def add_student(self, stu_id, name, gender):
student = Student(stu_id, name, gender)
self.students.append(student)
def remove_student(self, stu_id):
for student in self.students:
if student.get_stu_id() == stu_id:
self.students.remove(student)
return True
return False
def search_student(self, stu_id):
for student in self.students:
if student.get_stu_id() == stu_id:
return student
return None
def show_students(self):
for student in self.students:
print(f"学号:{student.get_stu_id()},姓名:{student.get_name()},性别:{student.get_gender()}")
def save_students(self, file_path):
with open(file_path, 'wb') as f:
pickle.dump(self.students, f)
def load_students(self, file_path):
with open(file_path, 'rb') as f:
self.students = pickle.load(f)
```
最后,我们可以编写一个简单的测试程序,来测试我们的学生管理系统是否正确。代码如下:
```
if __name__ == '__main__':
system = StudentSystem()
system.add_student("001", "张三", "男")
system.add_student("002", "李四", "女")
system.add_student("003", "王五", "男")
print("添加学生后的信息:")
system.show_students()
system.remove_student("002")
print("删除学生后的信息:")
system.show_students()
student = system.search_student("001")
if student:
print("查询到的学生信息:")
print(f"学号:{student.get_stu_id()},姓名:{student.get_name()},性别:{student.get_gender()}")
else:
print("没有查询到该学生信息!")
system.save_students("students.dat")
system.load_students("students.dat")
print("读取文件后的信息:")
system.show_students()
```
这样,一个简单的学生管理系统就完成了。您可以根据实际需求对其进行修改和扩展。
阅读全文