C++编程:医院有A、B、C、D、E、F、G七位医生,每人在一周内要值一次夜班。排班的要求是:
(1)A医生比C医生晚一天值班;
(2)D医生比E医生晚二天值班;
(3)B医生比G医生早三天值班;
(4)F医生的值班日在B和C医生的中间,且是星期四;
请编写程序,输出每位医生的值班日。值班日以Sunday,Monday,Tuesday,Wednesday,Thurday,Friday,Saturday 分别表示星期日到星期六(提示:用枚举变量)
以下是此题的【c++源代码】
#include
using namespace std;
int main()
{
enum weekday{sun,mon,tus,wed,thu,fri,sat}; //声明枚举类型
enum weekday day; //定义枚举变量
int a,b,c,d,e,f,g,loop; //定义整形变量
char ch='A'; //定义字符变量
f=thu; //按照题意,F医生是星期四值班
for(a=sun;a<=sat;a++) //需要逐个检查A医生星期几符合条件
if(a!=f) //A医生值班日子不应该与F医生相同
for(b=sun;b<=sat;b++) //逐个检查B医生星期几符合条件
if((a!=b)&&(f>b)) //B医生值班日子不应该与A医生相同,且F在B之后