实现学生选课系统程序(包含代码)
时间: 2024-05-07 11:20:16 浏览: 38
以下是一个简单的学生选课系统程序,使用 Python 语言编写:
```python
# 定义课程和学生类
class Course:
def __init__(self, name, id):
self.name = name
self.id = id
self.students = []
def add_student(self, student):
self.students.append(student)
class Student:
def __init__(self, name, id):
self.name = name
self.id = id
self.courses = []
def add_course(self, course):
self.courses.append(course)
# 定义课程和学生列表
courses = [
Course("计算机科学", "CS101"),
Course("数学", "MATH101"),
Course("英语", "ENG101")
]
students = [
Student("小明", "001"),
Student("小红", "002"),
Student("小刚", "003")
]
# 显示课程列表
def show_courses():
print("可选课程:")
for course in courses:
print(f"{course.name} ({course.id})")
# 显示学生列表
def show_students():
print("学生列表:")
for student in students:
print(f"{student.name} ({student.id})")
# 学生选课
def enroll_course():
show_courses()
course_id = input("请输入要选的课程编号: ")
course = None
for c in courses:
if c.id == course_id:
course = c
break
if not course:
print("未找到该课程")
return
show_students()
student_id = input("请输入要选课的学生编号: ")
student = None
for s in students:
if s.id == student_id:
student = s
break
if not student:
print("未找到该学生")
return
if course in student.courses:
print("该学生已选该课程")
else:
student.add_course(course)
course.add_student(student)
print(f"{student.name} 选了 {course.name}")
# 显示学生选课情况
def show_enrollments():
print("学生选课情况:")
for course in courses:
print(f"{course.name} ({course.id}):")
for student in course.students:
print(f"- {student.name} ({student.id})")
# 主程序
while True:
print("请输入数字选择操作:")
print("1. 显示课程列表")
print("2. 显示学生列表")
print("3. 学生选课")
print("4. 显示学生选课情况")
print("0. 退出")
choice = input()
if choice == "1":
show_courses()
elif choice == "2":
show_students()
elif choice == "3":
enroll_course()
elif choice == "4":
show_enrollments()
elif choice == "0":
break
else:
print("无效输入,请重新输入")
```
运行该程序后,可按照提示进行操作,包括显示课程列表、显示学生列表、学生选课和显示学生选课情况等。