课程设计用c++设计一个排课程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计论文
题目:用 c++设计一个排课程序学院:
专业名称:电子科学与技术
班级学号:
学生姓名:
指导教师:
2013年 6 月
目录
一、课题背景 (3)
1.1 选题的意义 (4)
二、课题要求 (4)
2.1 设计功能要求 (4)
2.2报告要求 (5)
三、系统总体方案: (5)
3.1 方案描述 (5)
3.3 各功能模块: (6)
四、源程序代码 (7)
五、测试数据及结果 (24)
六、总结 . (25)
参考书籍 (26)
致谢 . (26)
摘要:随着社会经济的迅速发展和科学技术的全面进步,计算机
事业的飞速发展,以计算机与通信技术为基础的信息系统正处于
蓬勃发展的时期。随着经济文化水平的显著提高,人们对生活质
量及工作环境的要求也越来越高。如何通过计算机为我们完成更
多的事情,进而达到办公自动化和优化日常工作的目的,也就成
了一个大众化的课题。作为计算机应用的一部分,使用计算机对信息进行管理 ,具有与手工管理所无法比拟的优点.例如 :检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
关键词:计算机c++ 程序语言排课系统
一、课题背景
1.1 实际应用的需要
近几年来,随着各高校办公自动化工作的推进,教务管理自
动化也被摆上了日程。在教务工作中占有很大比重的一项就是每
学期的课程排定工作。由于教工、教室和设备的相对紧张,如何
进行合理地安排和分配,从而充分利用教学资源是我们不得不面
对的问题。而人工进行排课不仅任务重,效率低,而且易出错,
难于维护,想要排出一张各方面都满意的课表非常困难。并且随
着高校规模的扩大手工排课的难度和工作量呈几何级数增长。学
校教务的管理作为高校教育信息化工作中的一项重要工作,如何
构建一个具有开放性、实用性和灵活性的平台,是一个值得探讨
的课题。其中,作为学校教务重点环节之一的排课系统也尤为重要。
1.1 选题的意义
排课系统正是为了减轻教务人员的工作量,实现教务工作自
动化,解决排课这一老大难问题的教务办公软件。尤其针对高校
的排课一直都没有很好的解决方法,但是此问题又是每个学校在
每个学期都会碰到的必要行政作业。本文在相关理论的指导下,
在分析以往一些排课软件的基础上,提出一个高校通用排课系统
的设计方法,并对一些具体的问题给出相应解决方案。但是,由
于技术、经验的有限和数据量过大,目前我们很难做出一个满足
所有需要的排课系统。因为它不仅要考虑到教室冲突问题和教师
冲突问题,还要考虑到分段课、单双周课时的资源利用问题;另
外由于高校的教学特点,还要处理合班课、分班课、体育课与选
修课等特殊课程。针对这些问题,在此专门对数据库设计作了一
些探索,并于架构的选择和模块的划分上经过精心调整,在菜单
的设计上也体现了人性化的操作。该设计贴近用户需求,功能完整,架构合理,并用大量的框图模型体现了系统的规划。该系统
实现上机时间的安排,课程的安排,教室的安排,以及它们之间
的不冲突和资源的高效利用;这更切合学院教学需要,降低了排
课管理工作的工作量和节省了时间,同时课程安排完成后,学院
可迅速获得课表情况信息,为教学工作带来方便。本系统界面友好,操作简单,使用方便。
二、课题要求
2.1 设计功能要求
程序运行时,用户输入教师信息(姓名、教师号、工作量)、
课程信息(课程名、课程号、周学时、总学时、优先级)、教师对
所希望讲授课程的期望值以及教学工作量等相关信息,所有信息应
保存在文件中,程序根据课程的优先级以及教师对课程的期
望值进行排课。为了公平起见,程序随机分配课程,如果10门课
程都有优先级,程序以随机的顺序将这些课程分给教师,如果10 位教师对某门课程的期望值为1,程序应从10位教师中随机选择一个。最后输出排课情况,即某位老师上某门课程,以及某位老师
的工作量。
测试数据:程序应能实现对不少于 20门课和 10个教师的排课,并且使每个教师的满意度达到最大,不存在工作量不满的教师以及未分配的课等情况。
2.2 报告要求
1.封面
2.课程设计报告:
3.⑴ 系统总体方案
⑵ 设计思路和主要步骤
⑶ 各功能模块和流程图
⑷ 设计代码
⑸ 心得体会和参考资料
三、系统总体方案:
3.1 方案描述
某学校每位教师都有教学工作量,教师对他所希望讲授的课程表
达为一个期望值, 1,2, , n,其中 1是最高的期望值。课程也有优
先级, 1,2, , n,用来决定将课程分给教师的顺序,其中 1是高的
优先级。设计一个程序针对某些课程给某些教师进行排课。
要求:
(一)程序运行时,用户输入教师信息(姓名、教师号、工作量)、课程信息(课程名、课程号、周学时、总学时、优先级),
教师对所希望讲授课程的期望值以及教学工作量等相关信息,所有
信息应保存在文件中。
(二)程序根据课程的优先级以及教师对课程的期望值进行排
课。最后输出排课情况,即某位老师上某门课程,以及某位老师
的工作量。
(三)可以实现对文件的修改。
(四)可以在各个界面中实现退出以及进入的循环。
(五)可以退出本系统。
(六)程序应能实现对不少于 20门课和 10个教师的排课,并且使每个教师的满意度达到最大,不存在工作量不满的教师以及未分配的课等情况。
3.2 系统设计框图:
3.3 各功能模块:
命令对应函数功能描述
1input_teacher输入数据并写入文件
2input_course输入数据并写入文件
3input_num输入数据并写入文件
4arranging排课
5print输出排课结果