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方法,向课程管理系统中添加新的课程。 这个课程管理系统可以方便地管理多门课程的信息,并提供了多种查询和操作方式,满足了不同用户的需求。

相关推荐

最新推荐

recommend-type

并行计算课程设计(报告+代码+可执行文件)

设处理器个数为p,数据量为n,由于正常情况下该快速排序算法的复杂度为O(nlogn),并行处理的时间复杂度为O(klogk),其中k=n/p,所以并行算法的时间复杂度为O((n/p)log(n/p)),理论加速比为nlogn/((n/p)log(n/p))=p+logp....
recommend-type

数据库实习报告 有关书店管理系统的课程设计

本系统为全区新华书店管理系统,涉及书店、图书、优惠卡等信息。基本情况如下:书店有店名、电话、地址等;图书有书名、作者、价格等;优惠卡包括卡编号、姓名、单位等。 凭优惠卡可在区内任何一家书店优惠20%购书...
recommend-type

期末学生选修课程系统设计

假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能: ...
recommend-type

《软件工程综合课程设计》报告模版

7 系统设计与原型UI(或系统设计与实现) 7.1 数据库表设计 7.2 关键算法与实现技术 7.3 主要原型UI(或主要功能实现) 7.4 测试方案与测试用例 7.5 安装与运行情况 7.5.1 安装与配置 7.5.2 运行情况图 8 ...
recommend-type

《管理信息系统》课程设计指导(修订)

《管理信息系统》课程设计指导 第一部分 管理信息系统项目计划(开课后前三周) 一、项目概况 1、项目说明 1)项目名称: 2)客户: 3)供应商: 2、项目背景 二、项目计划* 1、项目目标 2、项目范围 ...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

【实战演练】MATLAB用遗传算法改进粒子群GA-PSO算法

![MATLAB智能算法合集](https://static.fuxi.netease.com/fuxi-official/web/20221101/83f465753fd49c41536a5640367d4340.jpg) # 2.1 遗传算法的原理和实现 遗传算法(GA)是一种受生物进化过程启发的优化算法。它通过模拟自然选择和遗传机制来搜索最优解。 **2.1.1 遗传算法的编码和解码** 编码是将问题空间中的解表示为二进制字符串或其他数据结构的过程。解码是将编码的解转换为问题空间中的实际解的过程。常见的编码方法包括二进制编码、实数编码和树形编码。 **2.1.2 遗传算法的交叉和
recommend-type

openstack的20种接口有哪些

以下是OpenStack的20种API接口: 1. Identity (Keystone) API 2. Compute (Nova) API 3. Networking (Neutron) API 4. Block Storage (Cinder) API 5. Object Storage (Swift) API 6. Image (Glance) API 7. Telemetry (Ceilometer) API 8. Orchestration (Heat) API 9. Database (Trove) API 10. Bare Metal (Ironic) API 11. DNS
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。