永发信息网

排课系统的c++课程设计

答案:3  悬赏:70  手机版
解决时间 2021-03-10 05:24
问题描述:每位教师都有教学工作量,教师对他所希望讲授的课程表达为一个期望值,1,2…,n,其中1位最高的期望值。课程也有优先级,1,2…,n,用来决定将课程分给教师的顺序,其中1时最高的优先级。设计一个程序针对某些课程给某些教师进行排课。
基本要求:程序运行时,用户输入教师信息(姓名、教师号、工作量)、课程信息(课程名、课程号、周学时、总学时、优先级)、教师对所希望讲授课程的期望值以及教学工作量等相关信息,所有信息应保存在文件中,程序根据课程的优先级以及教师对课程的期望值进行排课。为了公平起见,程序随机分配课程,如果10门课程都有优先级1,程序以随机的顺序将这些课程分给教师,如果10位教师对某门课程的期望值为1,程序应从10位教师中随机选择一个。最后输出排课情况,即某位老师上某门课程,以及某位老师的工作量。
测试数据:程序应能实现对不少于20门课和10个教师的排课,并且使每个教师的满意度达到最大,不存在工作量不满的教师以及未分配的课等情况。
实现提示:可定义一个教师类存放教师信息,所有教师的信息可以用链表存储;定义一个课程类存放课程信息,所有课程的信息可以用链表存储;定义一个排课类进行排课,排课类可以访问课程和教师信息。
选作内容:对两个同类班级安排一学期(20周)的课程,程序应能处理某些限制,如一个老师不能同时给两个班上课。
最佳答案



你这个课程设计主要是算法问题。关键点:使每个教师的满意度达到最大。在这里等同于表示:使教师期望值最小(期望值越小,表示越满意)。因为针对同一组数据,可能出现很多种不同的排课结果,需要选择最优结果。至于界面建议使用MFC。
全部回答
这个课题 不难做。我能帮你解决 找 我
这个不是排列组合题目吧?如果不是,那就很简单。大致说下思路,自己实现吧。 把学校机房的课时按每小时或者按几个小时为单位编成一个数据结构。这个具体看学校怎么安排上机课,如果最小单位为2小时,当然以2小时为单位,如果有班级只上半小时的上机课当然以半小时为单位。比如一周5天每天10小时我们可以把它编成50个单位的一个数据结构。可以为数组,可以为链表,当然也可以为更复杂的结构,看你的需要。简单的机房上机课时结构基本子元素为:起止时间、已安排班级(若未安排则为空)、已安排老师 把班级和老师也储存在一个数据结构里。然后确定班级排上机课的原则。比如是平均分配机时,那么将每个班级增加一个计数器。那么班级的数据结构每个元素至少要有这么几个子元素:班级标识、班级计数器、班级空闲时间表。排上机课的时候,首先取出机房上机课时的数据结构,取出第一个元素,然后遍历存储班级信息的数据结构,优先取出班级计数器最小的班级,查看这个班级这时是否有课,无课则插入到上机课时的数据结构中,同时将班级计数器加一,有课则选择下一个计数器数字最小的元素。(计数器只是表示班级安排了多少上机课,也可以用一个数字代替,仅仅表示权重,比如计算机系的班级权重就可以调高。建议将整个链表中计数器数字的最小值保存在这个链表的某处,使得访问者一开始就能得到而不用访问所有元素)。重复上述过程,直到所有上机课时都被分配。 老师的分配过程和上述班级分配类似。 看来是新手,加油!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
皮肤被太阳晒了出现红斑是怎么回事
鼎字用音序查字法怎么查
柴油机活塞环走位是什么原因
【有所期诺 纤毫必偿 有所期约 时刻不易的意
黄铎堡镇陈庄小学地址在哪,我要去那里办事
AKON的 so special 中文歌词
4200元能买什么配置电脑,主要处理器和显卡
胡创建他是一个脾气不好心底很好的人。爱帮助
牛奶是否含钙高?
迪亚日木男装怎么去啊,有知道地址的么
为什么我家狗有的时候晚上突然就叫唤?什么东
给一间房子铺地砖,选用3分米×3分米的正方形
汗流浃背的反义词
艺馨茶楼地址有知道的么?有点事想过去!
牡丹区有没有小米专卖店
推荐资讯
丰味牛杂馆这个地址在什么地方,我要处理点事
从哪年起,文科数学开始不学空间向量和排列组
杀青的意思是什么
靴子磨脚怎么办,穿了一周
世纪星大酒店这个地址在什么地方,我要处理点
钢琴练声音阶怎么弹!求左右手都有、还有的就
包头市昆区 各个体育馆 的羽毛球场地价格 周
我出来找工作,没找到,在同学这里住了一个月
有哪些让你蛋碎了一地的产品体验和细节?
为什么在安装气瓶处没有明火报警装置?
形容无理的诗句
谁来推荐几款网络游戏,游戏中商城不卖装备的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?