教师排课系统课程设计报告C
面向对象技术与C课程设计任务书 课 程 面向对象技术与C 班级 xxxx 指导教师 xxx 题 目 教师排课系统 完成时间 xxxxx至xxxxx 主要内容 1.问题描述 每位教师都有教学工作量,教师对他所希望讲授的课程表达为一个期望值,1,2,n,其中1是最高的期望值。
课程也有优先级,1,2,n,用来决定将课程分给教师的顺序,其中1是最高的优先级。
设计一个程序针对某些课程给某些教师进行排课。 2.基本要求 程序运行时,用户输入教师信息(姓名、教师号、工作量)、课程信息(课程名、课程号、周学时、总学时、优先级),教师对所希望讲授课程的期望值以及教学工作量等相关信息,所有信息应保存在文件中,程序根据课程的优先级以及教师对课程的期望值进行排课。 为了公平起见,程序随机分配课程,如果10门课程都有优先级1,程序以随机的顺序将这些课程分给教师,如果10位教师对某门课程的期望值为1,程序应从10位教师中随机选择一个。
最后输出排课情况,即某位老师上某门课程,以及某位老师的工作量。
3.测试数据 程序应能实现对不少于20门课和10个教师的排课,并且使每个教师的满意度达到最大,不存在工作
量不满的教师以及未分配的课等情况。
设计报告要求 1.封面(格式附后) 2.课程设计任务书 3.课程设计报告 ⑴ 系统总体方案 ⑵ 设计思路和主要步骤 ⑶ 各功能模块和流程图 ⑷ 设计代码 ⑸ 心得体会和参考资料 说明学生完成课程设计后,提交课程设计报告及软件,要求文字通畅、字迹工整(也可用以打印),文字不少于5000 字,并装订成册。
版面要求 1.题目用黑体三号,段后距18磅(或1行),居中对齐; 2.标题用黑体四号,段前、段后距6磅(或0.3行); 3.正文用小四号宋体,行距为1.25倍行距; 4.标题按“一”、“㈠”、“1”、“⑴”顺序编号。
上机时间安排 星期 周次 一 二 三 四 五 六 日 第17周 1-4 1-4 1-4 1-4 1-4 指导时间地点 上机时间,E520 一.系统总体方案 某学校每位教师都有教学工作量,教师对他所希望讲授的课程表达为一个期望值,1,2,n,其中1是最高的期望值。
课程也有优先级,1,2,n,用来决定将课程分给教师的顺序,其中1是最高的优先级。
设计一个程序针对某些课程给某些教师进行排课。 要求 (一)程序运行时,用户输入教师信息(姓名、教师号、工作量)、课程信息(课程名、课程号、周学时、总学时、优先级),教师对所希望讲授课程的期望值以及教
学工作量等相关信息,所有信息应保存在文件中。 (二)程序根据课程的优先级以及教师对课程的期望值进行排课。
最后输出排课情况,即某位老师上某门课程,以及某位老师的工作量。
(三)可以实现对文件的修改。
(四)可以在各个界面中实现退出以及进入的循环。 (五)可以退出本系统。
(六)程序应能实现对不少于20门课和10个教师的排课,并且使每个教师的满意度达到最大,不存在工作量不满的教师以及未分配的课等情况。
方法 为了公平起见,程序随机分配课程,如果10门课程都有优先级1,程序以随机的顺序将这些课程分给教师,如果10位教师对某门课程的期望值为1,程序应从10位教师中随机选择一个。
2.设计思路和主要步骤 我们使用面向对象程序设计方法的思路进行分析,得出了整个系统应该涉及三个类的信息和操作,分别是教师类,课程类,排课类。
各类信息以文件方式的储存以及实现各种功能和界面的实现是在main函数中体现。
(一)教师类 teacher包括私有数据成员 姓名 name,编号 id ,工作量work_load ,已有工作量 total(方便判断