高校自动排课系统.docx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
______________________________________________________________________________________________________________ //简化版高校自动排课系统 //排课任务简化后包含:年级专业(教学班级,如计科 13)、课程名称、任课教师、上课地 点和时间 //教学班级简化为不分人数,不分专业方向。 //上课教室简化为不分理论课、实验课,不分教室容纳人数,不分是否多媒体。 //上课时段简化为:一周五天,周一到周五,白天上课,上午四节,下午四节, //1~2(8:00~9:400) 、 3~4(10:00~11:40) 、 5~6(14:00~15:40) 、 7~8(16:00~17:40) //为了便于处理,将五天的所有上课时段用数字 0~19 表示 //上课地点和时间组合成一个整数数组(位集, bitset ),每 20 个为 1 组为一个教室的上课 时段安排 //约束条件: 1、教学班级的上课时间不能冲突 //2 、每个教室不能同时安排多个教学班级上课 //3 、任课教师的上课时间不能冲突 // #include <iostream> #include <fstream> #include <sstream> #include <string> #include <vector> #include <bitset> #include <random> #include <iomanip> 精品资料 ______________________________________________________________________________________________________________ using namespace std; //原始数据文件中的每一行数据的数据结构 struct schedule { string grade_special; // 年级专业 string course; // 课程名称 string teacher; // 任课教师 string total_hour; // 总学时 string teach_hour; // 讲课学时 string experiment_hour; // 实验学时 string practice_hour; // 课程实践学时 string credit; // 学分 string week_hour; // 周学时 string start_stop; // 起止周 string speciality_orientation; // 专业方向 string person_num; // 人数 }; //排课任务的数据结构 struct arrange { arrange(string gs, string c, string t, int ct = -1) : grade_special(gs), course(c), 精品资料 ______________________________________________________________________________________________________________ teacher(t), classroom_time(ct) {} string grade_special; //年级专业 string course; //课程名称 string teacher; //任课教师 //string classroom; //上课地点 //string time; //上课时间 int classroom_time; //上课地点、时间 }; //教师倒排表数据结构,通过教师姓名找到该教师的排课情况 struct teacher_inverted { teacher_inverted(string tea, int cl = -1, int ar = -1) : teacher(tea), class_loc(cl), arrange_loc(ar) {} string teacher; int class_loc; int arrange_loc; }; //教室倒排表数据结构,通过教室名称查找该教室的排课情况 struct classroom_inverted { classroom_inverted(string cr, int cl = -1, int ar = -1) : classroom(cr), class_loc(cl), arrange_loc(ar) {} 精品资料 _________________________

您可能关注的文档

文档评论(0)

Wang216654 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档