编写一个“学生信息管理系统”,实现增加学生信息、删除学生信息、修改学生信息、查询学生信息等功能。系统主菜单如下:1.显示所有学生信息 2.新建学生信息 3.查询学生信息 4.修改学生信息 5.删除学生信息 6.保存学生信息 7.恢复学生信息 0.退出系统
时间: 2024-03-25 08:35:57 浏览: 58
好的,这是一个比较完整的学生信息管理系统,可以使用Python编写。以下是一个简单的实现:
```python
import json
class Student:
def __init__(self, name, age, grade):
self.name = name
self.age = age
self.grade = grade
class StudentManagementSystem:
def __init__(self):
self.students = []
# 显示所有学生信息
def show_students(self):
for student in self.students:
print('姓名:{},年龄:{},成绩:{}'.format(student.name, student.age, student.grade))
# 新建学生信息
def add_student(self):
name = input('请输入姓名:')
age = input('请输入年龄:')
grade = input('请输入成绩:')
student = Student(name, age, grade)
self.students.append(student)
print('添加成功!')
# 查询学生信息
def search_student(self):
name = input('请输入要查询的学生姓名:')
for student in self.students:
if student.name == name:
print('姓名:{},年龄:{},成绩:{}'.format(student.name, student.age, student.grade))
return
print('查询失败,未找到该学生!')
# 修改学生信息
def modify_student(self):
name = input('请输入要修改的学生姓名:')
for student in self.students:
if student.name == name:
age = input('请输入新的年龄:')
grade = input('请输入新的成绩:')
student.age = age
student.grade = grade
print('修改成功!')
return
print('修改失败,未找到该学生!')
# 删除学生信息
def remove_student(self):
name = input('请输入要删除的学生姓名:')
for student in self.students:
if student.name == name:
self.students.remove(student)
print('删除成功!')
return
print('删除失败,未找到该学生!')
# 保存学生信息
def save_students(self):
filename = input('请输入保存的文件名:')
with open(filename, 'w') as f:
json.dump([{'name': student.name, 'age': student.age, 'grade': student.grade} for student in self.students], f)
print('保存成功!')
# 恢复学生信息
def restore_students(self):
filename = input('请输入要恢复的文件名:')
with open(filename, 'r') as f:
data = json.load(f)
self.students = [Student(student['name'], student['age'], student['grade']) for student in data]
print('恢复成功!')
if __name__ == '__main__':
sms = StudentManagementSystem()
while True:
print('1. 显示所有学生信息')
print('2. 新建学生信息')
print('3. 查询学生信息')
print('4. 修改学生信息')
print('5. 删除学生信息')
print('6. 保存学生信息')
print('7. 恢复学生信息')
print('0. 退出系统')
choice = input('请输入选项:')
if choice == '1':
sms.show_students()
elif choice == '2':
sms.add_student()
elif choice == '3':
sms.search_student()
elif choice == '4':
sms.modify_student()
elif choice == '5':
sms.remove_student()
elif choice == '6':
sms.save_students()
elif choice == '7':
sms.restore_students()
elif choice == '0':
print('谢谢使用!')
break
else:
print('输入有误,请重新输入!')
```
在这个程序中,我们定义了一个`Student`类来表示学生信息,一个`StudentManagementSystem`类来管理学生信息。在主程序中,我们使用一个循环来显示菜单,根据用户的选择调用相应的方法来实现增加、删除、修改、查询、保存和恢复学生信息的功能。
其中,保存和恢复学生信息使用了json模块来实现,将学生信息以json格式写入文件,恢复时从文件中读取数据并创建学生对象。
阅读全文