设计和实现一个简单的学生管理系统,具有以下功能: 1. 学生信息录入:可以录入学生的基本信息,包括学号、姓名、性别、年龄、所在院系等信息。要求支持多名学生信息的录入。 2. 学生信息查询:可以按学号或姓名进行学生信息的查询,找到相应学生的基本信息。 3. 学生成绩录入:可以为每名学生录入多门课程的成绩,包括课程名称、学分、成绩等。 4. 学生成绩查询:可以按学号和课程名称查询某名学生的指定课程成绩。 5. 课程平均分查询:可以查询每门课程的平均成绩。 6. 学生总分统计:可以统计每名学生的总学分和总成绩,以及根据总成绩计算学生的平均分。 该系统需要提供一个菜单界面,让用户选择不同的功能;需要定义学生信息结构体和成绩结构体。
时间: 2024-03-05 20:47:50 浏览: 77
学生信息管理系统,实现学生信息包括:学号、姓名、性别、年龄、班级等信息。
5星 · 资源好评率100%
好的,我可以为您提供一个简单的Python实现。以下是代码和注释:
```python
# 定义学生信息结构体
class Student:
def __init__(self, id, name, gender, age, department):
self.id = id
self.name = name
self.gender = gender
self.age = age
self.department = department
# 定义成绩结构体
class Score:
def __init__(self, id, course, credit, score):
self.id = id
self.course = course
self.credit = credit
self.score = score
# 定义一个空的学生列表和成绩列表
students = []
scores = []
# 定义学生信息录入功能
def add_student():
while True:
id = input("请输入学号:")
# 判断学号是否已存在
if any(student.id == id for student in students):
print("学号已存在,请重新输入!")
else:
# 输入其他信息
name = input("请输入姓名:")
gender = input("请输入性别:")
age = input("请输入年龄:")
department = input("请输入所在院系:")
# 创建新的学生信息对象并添加到学生列表中
students.append(Student(id, name, gender, age, department))
print("学生信息录入成功!")
break
# 定义学生信息查询功能
def search_student():
while True:
keyword = input("请输入学号或姓名关键字:")
# 在学生列表中查找学生信息
result = [student for student in students if keyword in student.id or keyword in student.name]
if result:
# 输出查找结果
print("查询结果如下:")
for student in result:
print(f"学号:{student.id},姓名:{student.name},性别:{student.gender},年龄:{student.age},所在院系:{student.department}")
break
else:
print("未找到相关学生信息,请重新输入!")
# 定义学生成绩录入功能
def add_score():
while True:
id = input("请输入学号:")
# 判断学号是否存在
if any(student.id == id for student in students):
# 输入课程信息
course = input("请输入课程名称:")
credit = input("请输入学分:")
score = input("请输入成绩:")
# 创建新的成绩信息对象并添加到成绩列表中
scores.append(Score(id, course, credit, score))
print("成绩录入成功!")
break
else:
print("学号不存在,请重新输入!")
# 定义学生成绩查询功能
def search_score():
while True:
id = input("请输入学号:")
course = input("请输入课程名称:")
# 在成绩列表中查找成绩信息
result = [score for score in scores if score.id == id and score.course == course]
if result:
# 输出查找结果
print(f"查询结果如下:学号:{result[0].id},课程名称:{result[0].course},学分:{result[0].credit},成绩:{result[0].score}")
break
else:
print("未找到相关成绩信息,请重新输入!")
# 定义课程平均分查询功能
def average_score():
# 定义一个字典,用于保存每门课程的总成绩和学生人数
course_scores = {}
for score in scores:
if score.course in course_scores:
course_scores[score.course][0] += int(score.score)
course_scores[score.course][1] += 1
else:
course_scores[score.course] = [int(score.score), 1]
# 输出每门课程的平均成绩
print("各门课程平均成绩如下:")
for course, score_info in course_scores.items():
print(f"{course}:{score_info[0]/score_info[1]}")
# 定义学生总分统计功能
def total_score():
while True:
id = input("请输入学号:")
# 在成绩列表中查找学生的成绩信息
result = [score for score in scores if score.id == id]
if result:
# 计算总学分和总成绩
total_credit = sum(int(score.credit) for score in result)
total_score = sum(int(score.score) for score in result)
average_score = total_score / len(result)
# 输出统计结果
print(f"总学分:{total_credit},总成绩:{total_score},平均成绩:{average_score}")
break
else:
print("未找到相关成绩信息,请重新输入!")
# 定义菜单界面和主程序
def main():
while True:
# 输出菜单
print("欢迎使用学生管理系统!")
print("1. 学生信息录入")
print("2. 学生信息查询")
print("3. 学生成绩录入")
print("4. 学生成绩查询")
print("5. 课程平均分查询")
print("6. 学生总分统计")
print("0. 退出系统")
choice = input("请选择功能:")
# 根据用户选择执行相应功能
if choice == "1":
add_student()
elif choice == "2":
search_student()
elif choice == "3":
add_score()
elif choice == "4":
search_score()
elif choice == "5":
average_score()
elif choice == "6":
total_score()
elif choice == "0":
print("感谢使用学生管理系统!")
break
else:
print("输入有误,请重新选择!")
if __name__ == '__main__':
main()
```
以上代码实现了学生信息录入、学生信息查询、学生成绩录入、学生成绩查询、课程平均分查询、学生总分统计等功能,并提供了一个菜单界面供用户选择不同的功能。
阅读全文