做一个学生信息管理系统(1)能分别输入表1、表2和表3的信息,并将其分别保存到3个文件中(2)能分别从三个文件中读出数据并显示, (3)能对读出的某个学生的信息进行删除、修改,并写回到文件中(4)能对读出的某个学生的成绩信息进行删除、修改,并写回到文件中
时间: 2023-06-15 11:03:19 浏览: 132
好的,这是一个比较完整的项目,需要用到文件读写和数据结构等知识。我可以给你提供一个大致的框架,供你参考。
1. 定义数据结构
首先,我们需要定义一个数据结构,来存储学生的信息。这个数据结构应该包括学生的姓名、学号、性别、年龄、联系方式、入学时间和成绩等信息。例如:
```python
class Student:
def __init__(self, name, id, gender, age, phone, admission_date, score):
self.name = name
self.id = id
self.gender = gender
self.age = age
self.phone = phone
self.admission_date = admission_date
self.score = score
```
2. 编写保存数据到文件的函数
接下来,我们需要编写一个函数,将输入的学生信息保存到文件中。这个函数应该接受三个参数:表编号、学生信息和文件名。例如:
```python
def save_to_file(table, student, filename):
with open(filename, 'a') as f:
if table == 1:
f.write(f"{student.name}, {student.id}, {student.gender}, {student.age}, {student.phone}, {student.admission_date}\n")
elif table == 2:
f.write(f"{student.id}, {student.score}\n")
elif table == 3:
# 将其他信息保存到文件3中
pass
```
在这个函数中,我们首先打开文件,并根据表编号将学生信息写入不同的文件。
3. 编写从文件中读取数据并显示的函数
接下来,我们需要编写一个函数,从文件中读取数据并显示。这个函数应该接受一个文件名作为参数,然后读取文件中的数据,并将其显示出来。例如:
```python
def read_from_file(filename):
with open(filename, 'r') as f:
lines = f.readlines()
for line in lines:
print(line.strip())
```
在这个函数中,我们首先打开文件,并读取所有行。然后,对于每一行,我们将其打印出来。
4. 编写删除学生信息的函数
接下来,我们需要编写一个函数,用来删除学生的信息。这个函数应该接受两个参数:学生的学号和文件名。例如:
```python
def delete_student(id, filename):
with open(filename, 'r') as f:
lines = f.readlines()
with open(filename, 'w') as f:
for line in lines:
if id not in line:
f.write(line)
```
在这个函数中,我们首先读取文件中的所有行。然后,对于每一行,如果该行不包含要删除的学生的学号,我们就将其写入新的文件中。最后,我们将新的文件重命名为原始文件。
5. 编写修改学生信息的函数
最后,我们需要编写一个函数,用来修改学生的信息。这个函数应该接受三个参数:学生的学号、要修改的字段和新的值。例如:
```python
def modify_student(id, field, value, filename):
with open(filename, 'r') as f:
lines = f.readlines()
with open(filename, 'w') as f:
for line in lines:
if id in line:
# 根据要修改的字段,更新相应的信息
if field == 'name':
line = line.replace(line.split(',')[0], value)
elif field == 'gender':
line = line.replace(line.split(',')[2], value)
# ...
f.write(line)
```
在这个函数中,我们首先读取文件中的所有行。然后,对于每一行,如果该行包含要修改的学生的学号,我们就根据要修改的字段,更新相应的信息。最后,我们将新的文件重命名为原始文件。
以上就是一个基本的学生信息管理系统的框架,你可以根据自己的需要进行修改和完善。
阅读全文