• 大小: 3KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签: 排课  

资源简介

设计一个针对高等学校新学期课表的自动生成系统,要求根据输入的班级、教师、课程、教室等信息,自动生成新学期课表,要求 ① 班级、教师、教室不能冲突 ② 把一个教师的课尽量安排在同一天 ③ 同一门课程必须间隔至少一天才能再次上 ④ 允许手工调整 ⑤ 实现自动查错

资源截图

代码片段和文件信息

#ifndef MAIN_C
#define MAIN_C

#include 
#include 
#include 
#include 
#include 
#include 

#include “Teacher.h“

int main ()
{
cout << “Welcome to Teacher‘s Course Elect System!\n“ << endl;

string course_name;
int course_id;
int course_weekly_hours;
int course_total_hours;
int course_priority;
        multimap < int COURSE* mycompare > courses;

cout << “Enter course name: “ << endl;
while (cin >> course_name) {
if (course_name.compare(“0“) == 0) {
break;
}
                cout << “Enter course number: “ << endl;
                cin >> course_id;
                cout << “Enter course weekly hours: “ << endl;
                cin >> course_weekly_hours;
                cout << “Enter course total hours: “ << endl;
                cin >> course_total_hours;
if (course_total_hours < course_weekly_hours) { 
cerr << “ERROR: total hours should be greater than weekly hours!“ << endl;
                 cout << “Enter course total hours: “ << endl;
cin >> course_total_hours;


                cout << “Enter course priority: “ << endl;
                cin >> course_priority;

                COURSE* c = new COURSE(course_name course_id course_weekly_hours
course_total_hours course_priority);

courses.insert(pair(course_priority c));
cout << “Enter next course name (0 to end): “ << endl;
}
multimap < int COURSE* mycompare >::iterator it;  
cout << “Summary of courses: “ << endl; 
for ( it = courses.begin(); it != courses.end(); it++) {
cout << “Course number: “ << it->second->get_course_number() 
     << “ Course name: “ << it->second->get_course_name() 
     << “ Course priority: “ << it->second->get_course_priority() 
     << “ Weekly hours: “ << it->second->get_weekly_hours() 
     << “ Total hours: “ << it->second->get_total_hours() 
     << endl;
}
cout << endl;

        map < int TEACHER* > teachers;
        string  teacher_name;
        int   teacher_id;
        int     desired_total_hours;
int  expectation;

        cout << “Enter teacher‘s information: “ << endl << endl;
cout << “Enter teacher‘s name: “ << endl;
        while (cin >> teacher_name) {
if (teacher_name.compare(“0“) == 0) break; 
cout << “Enter teacher‘s id: “ << endl;
cin >> teacher_id;
cout << “Enter teacher “ << teacher_name << “‘s desired work hours: “ << endl;
cin >> desired_total_hours;
TEACHER* t = new TEACHER(teacher_name teacher_id desired_total_hours);
cout << “Enter teacher “ << teacher_name << “‘s course selection: “ << endl;
cout << “Course name: “ << endl;
while (cin >> course_name) {
if (course_name.compare(“0“) == 0) break; 
bool found = false;
for ( it = courses.begin(); it != courses.end(); it++) {
if (it->second->get_course_name() == course_name) {
found = true;
break;
}
}
if (!found) { 
cerr << “Selected course is not offered. Enter another course!“ << endl; 
continue;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-09-21 23:19  教师排课系统(课程设计)\
     文件        6268  2011-09-02 08:30  教师排课系统(课程设计)\main.cpp
     文件        2147  2011-09-02 07:47  教师排课系统(课程设计)\Teacher.h

评论

共有 条评论