设置一个、学生成绩管理系统 系统功能基本要求 学生信息,学号、姓名、性别、专业、年级等;学生成绩信息,包括学号、课程编号、课程名称、分数等。课程信息,包括课程编号、课程名称、任课教师等。对学生成绩的查询(不能任意修改)、统计,并将结果输出
时间: 2023-10-20 17:20:21 浏览: 101
学生成绩管理系统 系统功能基本要求 学生信息,学号、姓名、性别、专业、年级等
好的,这个学生成绩管理系统可以分为以下几个主要功能模块:
1. 学生信息管理模块:用于录入、修改、删除和查询学生信息。包括学号、姓名、性别、专业、年级等。
2. 课程信息管理模块:用于录入、修改、删除和查询课程信息。包括课程编号、课程名称、任课教师等。
3. 学生成绩管理模块:用于录入、修改、删除和查询学生成绩信息。包括学号、课程编号、课程名称、分数等。
4. 成绩查询和统计模块:用于按照学号和课程编号查询学生成绩,并进行统计分析,输出结果。
下面是一个简单的Python程序,实现上述功能:
```
# 定义学生信息类
class Student:
def __init__(self, id, name, sex, major, grade):
self.id = id
self.name = name
self.sex = sex
self.major = major
self.grade = grade
# 定义课程信息类
class Course:
def __init__(self, id, name, teacher):
self.id = id
self.name = name
self.teacher = teacher
# 定义学生成绩类
class Score:
def __init__(self, student_id, course_id, score):
self.student_id = student_id
self.course_id = course_id
self.score = score
# 定义学生信息管理类
class StudentManager:
def __init__(self):
self.students = []
def add_student(self, student):
self.students.append(student)
def remove_student(self, student_id):
for student in self.students:
if student.id == student_id:
self.students.remove(student)
def modify_student(self, student_id, name, sex, major, grade):
for student in self.students:
if student.id == student_id:
student.name = name
student.sex = sex
student.major = major
student.grade = grade
def query_student(self, student_id):
for student in self.students:
if student.id == student_id:
print(f"学生信息:学号:{student.id},姓名:{student.name},性别:{student.sex},专业:{student.major},年级:{student.grade}")
break
# 定义课程信息管理类
class CourseManager:
def __init__(self):
self.courses = []
def add_course(self, course):
self.courses.append(course)
def remove_course(self, course_id):
for course in self.courses:
if course.id == course_id:
self.courses.remove(course)
def modify_course(self, course_id, name, teacher):
for course in self.courses:
if course.id == course_id:
course.name = name
course.teacher = teacher
def query_course(self, course_id):
for course in self.courses:
if course.id == course_id:
print(f"课程信息:课程编号:{course.id},课程名称:{course.name},任课教师:{course.teacher}")
break
# 定义学生成绩管理类
class ScoreManager:
def __init__(self):
self.scores = []
def add_score(self, score):
self.scores.append(score)
def remove_score(self, student_id, course_id):
for score in self.scores:
if score.student_id == student_id and score.course_id == course_id:
self.scores.remove(score)
def modify_score(self, student_id, course_id, score):
for score in self.scores:
if score.student_id == student_id and score.course_id == course_id:
score.score = score
def query_score(self, student_id, course_id):
for score in self.scores:
if score.student_id == student_id and score.course_id == course_id:
print(f"学生成绩:学号:{score.student_id},课程编号:{score.course_id},分数:{score.score}")
break
# 定义成绩查询和统计类
class ScoreQuery:
def __init__(self):
self.scores = []
def add_score(self, score):
self.scores.append(score)
def query_score_by_student(self, student_id):
total_score = 0
count = 0
for score in self.scores:
if score.student_id == student_id:
print(f"学号:{score.student_id},课程编号:{score.course_id},分数:{score.score}")
total_score += score.score
count += 1
if count > 0:
print(f"平均分:{total_score/count}")
def query_score_by_course(self, course_id):
total_score = 0
count = 0
for score in self.scores:
if score.course_id == course_id:
print(f"学号:{score.student_id},课程编号:{score.course_id},分数:{score.score}")
total_score += score.score
count += 1
if count > 0:
print(f"平均分:{total_score/count}")
# 测试程序
if __name__ == '__main__':
# 创建学生信息管理对象
student_manager = StudentManager()
# 添加学生信息
student_manager.add_student(Student('001', '张三', '男', '计算机科学与技术', '2018'))
student_manager.add_student(Student('002', '李四', '女', '软件工程', '2017'))
# 查询学生信息
student_manager.query_student('001')
# 修改学生信息
student_manager.modify_student('002', '王五', '男', '网络工程', '2016')
# 删除学生信息
student_manager.remove_student('001')
# 创建课程信息管理对象
course_manager = CourseManager()
# 添加课程信息
course_manager.add_course(Course('001', '数据结构', '张三'))
course_manager.add_course(Course('002', '计算机网络', '李四'))
# 查询课程信息
course_manager.query_course('001')
# 修改课程信息
course_manager.modify_course('002', '操作系统', '王五')
# 删除课程信息
course_manager.remove_course('001')
# 创建学生成绩管理对象
score_manager = ScoreManager()
# 添加学生成绩信息
score_manager.add_score(Score('002', '002', 90))
score_manager.add_score(Score('002', '001', 80))
# 查询学生成绩信息
score_manager.query_score('002', '002')
# 修改学生成绩信息
score_manager.modify_score('002', '001', 85)
# 删除学生成绩信息
score_manager.remove_score('002', '002')
# 创建成绩查询和统计对象
score_query = ScoreQuery()
# 添加成绩信息
score_query.add_score(Score('001', '001', 85))
score_query.add_score(Score('001', '002', 90))
score_query.add_score(Score('002', '001', 80))
score_query.add_score(Score('002', '002', 85))
# 按照学号查询成绩信息并统计平均分
score_query.query_score_by_student('001')
# 按照课程编号查询成绩信息并统计平均分
score_query.query_score_by_course('002')
```
这个程序使用了面向对象的编程思想,通过定义不同的类来管理学生信息、课程信息和学生成绩信息,并提供了成绩查询和统计功能。可以根据实际需要进行修改和扩展。
阅读全文