培训学校自动排课系统,采用回溯算法,一层一层地进行查找合适的时间以及教室。
一、确定培训学校教师上课时间
首先确定上课的时间。上课的教师时间是否已被占用,没有占 用,_进行下一步;如果被占用,_查找下一个时间片教师时间是 否被占用。
二、确定培训学校上课教师
确定完上课时间后,还要确定上课地点。安排上课地点的原则 是时间片不能与其他课程冲突。所以如果时间片不能满足要求, 要重新进行时间安排。回溯算法中要对教师时间和教室时间是否 被占用进行判断。教师和教室的时间片标记事先是写好在数据库里的,根据不同的代码和时间片代码从数据库中读取标记位,然 后进行判断就可以了。
教师时间冲突判断代码如下:
string mystr = ConfigurationManager. AppSettings ["my connstring "];
OleDb C onnection my conn = new OleDbConnectionO; OleDb Command my and 1 = new OleDb CommandO ; OleDb Command mycmd2 = new OleDb CommandO ; my conn. Connectionstring = mystr ; myconn.OpenO ;
string mysQll = "SELECT 教师ID FROM 课程信息 WHERE ID=丨丨丨+kid+丨丨丨丨丨;
mycmdl. CommandText = mysQll ; my and 1. Connection = my conn; string id = my and 1. ExecuteScalar(). T oString(); string myscil2 = "SELECT t"+ ti +11 FROM 教师时间 WHERE教师ID=丨"+ id +丨丨丨丨丨;
my cmd2. CommandText = inysql2;
mycmd2. Connection = my conn;
string flag = mycmd2. ExecuteScalar(). ToString();
if(fLag=="011) I
return true;
)
)
else
return false;
教室时间冲突与教师时间冲突代码一致。
在时间冲突解决之后就是对课程进行记录了,在算法中有一个自定义类JilukechengO,其返回值就是已经排列完成的课程的 名称和上课的教师以及上课的教师的字符串。
四、结语
系统设计在培训学校试验应用,经测试,系统能够基本满足培训学校教务工作人员排课工作需求,减轻了教务部门的工作量,对培训学校办公自动化起到了推进作用。
本文由校风云培训学校管理系统责任编辑,如有转载,请注明来源,感谢您的支持!