- 11
- 0
- 约1.28万字
- 约 11页
- 2019-09-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) {}
string classroom;
int class_loc;
int arrange_loc;
};
int main(int argc, char** argv) {
if (argc != 3) {
cout 程序调用格式错误!\n调用格式:csp 排课计划文件 可用教室文件\n;
return 0;
}
ifstream infile(argv[1]);
vectorschedule plan;
string s;
getline(infile, s);
while (getline(infile, s)) {
schedule sch;
istringstream record(s);
record sch.grade_special sch.course sch.teacher sch.total_hour sch.teach_hour
您可能关注的文档
- 跌倒、疼痛、营养、ADL的评估与的护理.ppt
- 顶管跨越工程施工设计方案.doc
- 东欧北亚与俄罗斯.ppt
- 东西方宗教文化差异(英文版).ppt
- 蹲踞式跳远起跳与腾空.ppt
- 盾构施工过程中的监理要点和方法.ppt
- 鄂教版四年级(上册)劳动技术教(学)案.doc
- 恩特软件操作流程图.doc
- 二次函数y=a(x_h)^2+k的图像与性质.ppt
- 二次函数y=a(x_h)2的图象和性质精品课件.ppt
- 浙江省温州市2024-2025学年七年级上学期语文期末考查卷.docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(原卷版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(解析版).docx
- 精品解析:北京市海淀区2025-2026学年九年级上学期期末语文试题(解析版).docx
- 精品解析:北京市东城区汇文中学2025-2026学年八年级上学期期中语文试题(原卷版).docx
- 精品解析:北京市回民学校2024-2025学年九年级上学期期中语文试题(原卷版).docx
- 精品解析:2024-2025学年广东省广州市从化区街口镇中心小学人教版五年级上册期中测试数学试卷(解析版).docx
- 精品解析:北京市通州区2024-2025学年七年级下学期期末考试英语试卷(解析版).docx
- 精品解析:北京市建华实验学校2024-2025学年七年级下学期期中英语试题(解析版).docx
原创力文档

文档评论(0)