高校学籍和成绩管理系统设计与实现

本文将介绍如何设计一个简单的高校学籍和成绩管理系统,并实现基本功能,包括学生信息录入、成绩录入、学生信息查找、成绩信息输出等。

系统设计

1. 数据结构

  • 学生类:包含班级号、学号、姓名、专业等成员。
  • 学生成绩类:包含班级号、学号、课程号、成绩等成员。

2. 功能设计

  • 学生数据录入: 函数 Xslr() 用于完成学生数据录入。
  • 成绩数据录入: 函数 Cjlr() 用于完成成绩数据录入。
  • 根据姓名查找学生信息: 函数 Look1() 用于根据姓名查找学生的基本信息和成绩信息。
  • 根据班级号列出学生信息: 函数 Look2() 用于根据班级号列出学生的基本信息。
  • 根据班级号输出满足条件的学生成绩信息: 函数 Dayin1() 用于根据班级号输出满足条件的学生成绩信息。
  • 输出某一同学的成绩单: 函数 Dayin2() 用于输出某一同学的成绩单。

实现代码

# 学生类
class Student:
    def __init__(self, class_id, student_id, name, major):
        self.class_id = class_id
        self.student_id = student_id
        self.name = name
        self.major = major

# 学生成绩类
class Score:
    def __init__(self, class_id, student_id, course_id, score):
        self.class_id = class_id
        self.student_id = student_id
        self.course_id = course_id
        self.score = score

# 学生数据录入函数
def Xslr():
    students = []
    while True:
        class_id = input('请输入班级号:')
        if class_id == '-1':
            break
        student_id = input('请输入学号:')
        name = input('请输入姓名:')
        major = input('请输入专业:')
        students.append(Student(class_id, student_id, name, major))
    return students

# 成绩数据录入函数
def Cjlr():
    scores = []
    while True:
        class_id = input('请输入班级号:')
        if class_id == '-1':
            break
        student_id = input('请输入学号:')
        course_id = input('请输入课程名:')
        score = input('请输入成绩:')
        scores.append(Score(class_id, student_id, course_id, score))
    return scores

# 根据姓名查找学生信息函数
def Look1(students, scores, name):
    for student in students:
        if student.name == name:
            print('班级号   学号   姓名   课程号   成绩')
            for score in scores:
                if score.student_id == student.student_id:
                    print(f'{student.class_id}        {student.student_id}      {student.name}   {score.course_id}      {score.score}')
            return
    print('未找到该学生信息!')

# 根据班级号列出学生信息函数
def Look2(students, class_id):
    print('班级号   学号   姓名   专业')
    for student in students:
        if student.class_id == class_id:
            print(f'{student.class_id}        {student.student_id}      {student.name}   {student.major}')

# 根据班级号输出满足条件的学生成绩信息函数
def Dayin1(scores, class_id):
    print('班级号   学号   姓名   课程号   成绩')
    for score in scores:
        if score.class_id == class_id:
            print(f'{score.class_id}        {score.student_id}      {score.name}   {score.course_id}      {score.score}')

# 输出某一同学的成绩单函数
def Dayin2(scores, student_id):
    print('班级号   学号   姓名   课程号   成绩')
    for score in scores:
        if score.student_id == student_id:
            print(f'{score.class_id}        {score.student_id}      {score.name}   {score.course_id}      {score.score}')

# 程序主入口
if __name__ == '__main__':
    print('*************************请输入学生数据(班级号为-1结束)************************')
    students = Xslr()
    print('**************************请输入成绩数据(班级号为-1结束)***********************')
    scores = Cjlr()
    while True:
        name = input('请输入要查找的学生的姓名(输入姓名为-1结束)\n')
        if name == '-1':
            break
        Look1(students, scores, name)

运行结果

*************************请输入学生数据(班级号为-1结束)************************
请输入班级号:1
请输入学号:1
请输入姓名:王平
请输入专业:计算机科学
请输入班级号:-1
**************************请输入成绩数据(班级号为-1结束)***********************
请输入班级号:1
请输入学号:1
请输入课程名:c++
请输入成绩:90
请输入班级号:-1
请输入要查找的学生的姓名(输入姓名为-1结束)
王平
班级号   学号   姓名   课程号   成绩
1        1      王平   c++      90

总结

本文介绍了一个简单的高校学籍和成绩管理系统的设计与实现,通过 Python 代码示例,演示了如何进行学生信息和成绩信息的录入、查找和输出。实际应用中,系统需要考虑更多功能,例如成绩统计、课程管理、用户权限控制等。


原文地址: https://www.cveoy.top/t/topic/n37Q 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录