C++高校选课系统[2024-06-27]

C++高校选课系统[2024-06-27]

二、设计内容及要求:

根据面向对象程序设计课程所学的概念、理论和方法,按照面向对象程序设计的基本步骤,计并实现一个基于 C++程序语言的高校选课系统,能够完成学生选课、退课、查询课程信息、查询选课结果等基本功能。
要求:
1、系统应具有良好的用户界面,方便用户操作。
2、系统应支持数据的持久化存储,确保数据的安全性和可靠性。
3、系统应具备一定的可扩展性,便于后续功能的添加和修改。

三、系统功能需求
1、用户管理:
(1)学生用户:登录、查看个人信息、选课、退课、查询课程信息、查询选课结果等。
(2)教师用户:登录、查看个人信息、管理所授课程信息、查看选课学生名单等。
(3)管理员用户:注册、登录、管理所有用户信息、管理系统配置、管理课程信息等。

2、课程管理:
(1)添加课程:管理员或教师添加课程信息,包括课程名称、课程描述、学分、上课时间、地点等。
(2)修改课程:管理员或教师修改已有课程的信息。
(3)删除课程:管理员或教师删除不再需要的课程信息。
(4)查询课程:用户可以根据课程名称、教师姓名等条件查询课程信息。

3、选课管理:
(1)学生选课:学生根据课程信息和自己的需求选择课程。
(2)学生退课:学生可以在规定时间内退选已选课程。
(3)选课结果查询:学生、教师可以查询选课结果,包括已选课程、选课人数等。

4、系统配置:
(1)管理员可以设置系统参数,如选课时间、退课时间等。
(2)管理员可以管理用户角色和权限,确保系统的安全性。

四、所需类建议:
1、学生(Student)类:学生 ID、学生姓名、学生专业、学生选课列表(可以是一个包含课程对象的列表或指针数组);学生信息查询、修改、选课、退课等方法。
2、课程(Course)类:课程 ID、课程名称、学分、授课教师、上课时间/地点、学生选课列表(可以是一个包含学生对象的列表或指针数组,但通常只存储选课学生的 ID 或相关标识符);课程信息查询、修改、添加学生、移除学生等方法。
3、教师(Teacher)类:教师 ID、教师姓名、教师职称、所属院系、授课课程列表(可以是一个包含课程对象的列表或指针数组);教师信息查询、修改、添加课程、移除课程等方法。
4、选课记录(EnrollmentRecord)类(用于存储选课详情):学生 ID、课程 ID、选课时间、选课状态(如已选、退选、待确认等)、授课教师;选课记录查询、修改等方法。
5、系统管理员(Admin)类(可选,用于管理系统功能):
管理员 ID、管理员姓名、管理员密码、系统配置管理(如设置学期、管理用户和课程数据等);登录验证、权限管理等方法。
6、时间(TimeSlot)类(可选,用于表示上课时间):
星期几、开始时间、结束时间、地点;时间段查询、比较等方法。
7、用户界面(UI)类(可选,用于与用户交互):
提供图形界面或命令行界面,让用户能够执行选课、查询等操作。注意:设计类不局限于任务书中的建议要求,以实现目标功能为导向进行设计,能充分体现出类派生继承的特点。在实现时,你需要考虑类之间的关系(如关联、聚合、继承等),并设计合适的接口和方法来支持系统的功能。

五、具体要求:
1、文件存储要求:以文件形式分别存储用户信息(分别包括教师、学生记录)、课程信息、选课信息、管理员信息。并能更新维护信息的内容。
2、数据要求:数据采集至少含包含40名学生用户、10名教师用户、1名管理员、12门选修课程。
3、课程报告要求:写出课程设计报告,具体要求见课程设计模板。设计主控模块程序,对给出的程序源代码要给出各部分的详细注释,自己根据能力及需要添加相应功能模块,增强模拟系统功能。包括系统的功能分析、系统的功能模块设计、程序流程图或结构框图、逻辑结构设计和课程设计体会。
4、采用多文件组织形式,只能使用C++语言,源程序要有适当的注释,使程序容易阅读;至少要有控制台文本菜单界面(如有图形界面更好)。
5、学生可自由增加新功能模块(如合理可另外加分)。

六、评分标准

源码联系UP主 -> https://space.bilibili.com/329101171











  • 21
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值