Scheduling a Class (Intermediate above) You are an administrator for the Kulliyyah and is assigned the task to schedule a set of classes for a given day. Unfortunately, there is only one lecture hall and therefore, two classes cannot run at the same time. This is usually an easy task, however, there are some criteria that you would have to consider. The criteria are as follows:   ·     Each class has a duration class time. ·     Higher level courses has higher priority than other low level courses.  ·     Some lecturers prefer to have morning classes instead of the afternoon classes because they come to the office much earlier than other lecturers so they should be scheduled earlier.   Your job is to propose the best scheduling based on this criteria. To do this, you will write a C++ program that will first sort the classes by lecturer arrive time and then by course levels. Lecturers arriving early, can start first, but if they arrive at the same time, the higher level course will go first. Course 3301 for example, has higher priority than 3300 and 1100.   You will need a struct, to be defined,  as the one given below.   struct Course {    int ccode;         // course code    // class duration in military hours, 2 hours is 200 and so on    int duration;    //prefered start time 800 for 8am and 1200 for 12pm    int lecture_arrive_time;   };   Your program should output the course code with the time a class starts. We assume military time and the day starts at 800 hours and finishes at 2200 hours. If the class exceeds 2200 hours, your program should indicate that the course cannot be schedule. We also assume that there is no allocated lunch or dinner breaks.   Your program should ask for the input from the user. The input ends with 999 to indicate that there are no more classes to be scheduled.   Please enter class details.   3203 100 1500 1103 100 1500 2201 300 800 2203 100 1500 3401 200 800 1201 100 1500 999    The output should be the following:   3401 starts at 800 ends at 1000 2201 starts at 1000 ends at 1300 3203 starts at 1500 ends at 1600 2203 starts at 1600 ends at 1700 1201 starts at 1700 ends at 1800 1103 starts at 1800 ends at 1900  your code in c++

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter17: Linked Lists
Section: Chapter Questions
Problem 14PE
icon
Related questions
Question

Scheduling a Class (Intermediate above)

You are an administrator for the Kulliyyah and is assigned the task to schedule a set of classes for a given day. Unfortunately, there is only one lecture hall and therefore, two classes cannot run at the same time. This is usually an easy task, however, there are some criteria that you would have to consider. The criteria are as follows:

 

·     Each class has a duration class time.

·     Higher level courses has higher priority than other low level courses. 

·     Some lecturers prefer to have morning classes instead of the afternoon classes because they come to the office much earlier than other lecturers so they should be scheduled earlier.

 

Your job is to propose the best scheduling based on this criteria. To do this, you will write a C++ program that will first sort the classes by lecturer arrive time and then by course levels. Lecturers arriving early, can start first, but if they arrive at the same time, the higher level course will go first. Course 3301 for example, has higher priority than 3300 and 1100.

 

You will need a struct, to be defined,  as the one given below.

 

struct Course

{

   int ccode;         // course code

   // class duration in military hours, 2 hours is 200 and so on

   int duration;

   //prefered start time 800 for 8am and 1200 for 12pm

   int lecture_arrive_time;  

};

 

Your program should output the course code with the time a class starts.

We assume military time and the day starts at 800 hours and finishes at 2200 hours. If the class exceeds 2200 hours, your program should indicate that the course cannot be schedule. We also assume that there is no allocated lunch or dinner breaks.

 

Your program should ask for the input from the user. The input ends with 999 to indicate that there are no more classes to be scheduled.

 

Please enter class details.

 

3203 100 1500

1103 100 1500

2201 300 800

2203 100 1500

3401 200 800

1201 100 1500

999 

 

The output should be the following:

 

3401 starts at 800 ends at 1000

2201 starts at 1000 ends at 1300

3203 starts at 1500 ends at 1600

2203 starts at 1600 ends at 1700

1201 starts at 1700 ends at 1800

1103 starts at 1800 ends at 1900

 your code in c++

Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Data members
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage