5 课程管理系统 功能:假定有n门课程,每门课程有课程编号,课程名称,总学时,学分,开课学期等信息。试设计一课程管理系统,使之能提供以下功能: 1对课程信息的录入、修改、删除功能; 2按课程名排序后浏览; 3按课程查询、按学分查询; 4 课程可以扩充。
时间: 2023-12-06 14:05:29 浏览: 95
好的,这个课程管理系统可以使用面向对象编程来实现。
首先,我们需要设计一个课程类(Course),包含课程编号、课程名称、总学时、学分、开课学期等属性,并提供相应的构造函数和get/set方法。
然后,我们需要设计一个课程管理类(CourseManager),包含对课程信息的录入、修改、删除、浏览、查询、扩充等功能。具体实现如下:
```python
class Course:
def __init__(self, id, name, total_hours, credit, term):
self.id = id
self.name = name
self.total_hours = total_hours
self.credit = credit
self.term = term
def get_id(self):
return self.id
def set_id(self, id):
self.id = id
def get_name(self):
return self.name
def set_name(self, name):
self.name = name
def get_total_hours(self):
return self.total_hours
def set_total_hours(self, total_hours):
self.total_hours = total_hours
def get_credit(self):
return self.credit
def set_credit(self, credit):
self.credit = credit
def get_term(self):
return self.term
def set_term(self, term):
self.term = term
class CourseManager:
def __init__(self):
self.courses = []
def add_course(self, course):
self.courses.append(course)
def delete_course(self, id):
for course in self.courses:
if course.get_id() == id:
self.courses.remove(course)
def update_course(self, id, name, total_hours, credit, term):
for course in self.courses:
if course.get_id() == id:
course.set_name(name)
course.set_total_hours(total_hours)
course.set_credit(credit)
course.set_term(term)
def sort_courses_by_name(self):
self.courses.sort(key=lambda x: x.get_name())
def search_course_by_name(self, name):
for course in self.courses:
if course.get_name() == name:
return course
return None
def search_courses_by_credit(self, credit):
result = []
for course in self.courses:
if course.get_credit() == credit:
result.append(course)
return result
def add_new_course(self, id, name, total_hours, credit, term):
new_course = Course(id, name, total_hours, credit, term)
self.courses.append(new_course)
```
这个课程管理系统包含的功能有:
1. 添加课程信息:通过add_course方法,向课程管理系统添加一门新课程。
2. 删除课程信息:通过delete_course方法,从课程管理系统中删除指定编号的课程。
3. 修改课程信息:通过update_course方法,修改指定编号的课程的相关信息。
4. 按课程名排序后浏览:通过sort_courses_by_name方法,将所有课程按照名称排序后输出。
5. 按课程查询:通过search_course_by_name方法,根据课程名称查询指定课程的信息。
6. 按学分查询:通过search_courses_by_credit方法,根据学分查询符合条件的所有课程。
7. 课程扩充:通过add_new_course方法,向课程管理系统中添加新的课程。
这个课程管理系统可以方便地管理多门课程的信息,并提供了多种查询和操作方式,满足了不同用户的需求。