结构体:枚举

cpp 复制代码
#include<iostream>  
using namespace std;
int main()
{
    enum weekday { mon, tus, wed, thu, fri, sat,sun }; //声明枚举类型 
    enum weekday day;  //定义枚举变量 
    int a, b, c, d, e, f, g, loop;  //定义整型变量 
    char ch = 'A';  //定义字符变量 
    f = thu;  //按照题意,F医生是星期四值班
    for (a = mon; a <= sun; a++)
        //需要逐个检查A医生星期几符合条件
    if (a != f)           
        //A医生值班日子不应该与F医生相同
    for (b = mon; b <= sun; b++)
        //逐个检查B医生星期几符合条件
    if (a != b)  
        //B医生值班日子不应该与A医生相同
    for (c = mon; c <= sun; c++)
        //逐个检查C医生星期几符合条件
    if ((c != a) && (c != b) && (c != f) && (a == (c + 1) % 7) && ((f > b) && (f < c) || (f > c) && (f < b)))
        //C医生值班日子不应该与A,B,F医生相同,且A比C晚1天 
    for (d = mon; d <= sun; d++)
        //逐个检查D医生星期几符合条件
    if ((d != a) && (d != b) && (d != c) && (d != f))  
        //D医生值班日子不应该与A,B,C,F医生相同
    for (e = mon; e <= sun; e++)
        //逐个检查E医生星期几符合条件
    if ((e != a) && (e != b) && (e != c) && (e != d) && (e != f) && (d == (e + 2) % 7)) 
        //E值班不应该与A,B,C,D,E,F相同,且D比E晚2天
    for (g = mon; g <= sun; g++)
        //逐个检查G医生条件
    if ((g != a) && (g != b) && (g != c) && (g != d) && (g != e) && (g != f) && (g == (b + 3) % 7))  
        //G值班不应该与A,B,C,D,E,F相同,且G与B后3天
    //符合以上条件才能执行以下工作 
    for (loop = 0; loop < 7; loop++)
    {
        cout << char(ch + loop) << "医生值班日:";
        switch (loop + 1)
        {
        case 1:day = weekday(a); break;
        case 2:day = weekday(b); break;
        case 3:day = weekday(c); break;
        case 4:day = weekday(d); break;
        case 5:day = weekday(e); break;
        case 6:day = weekday(f); break;
        case 7:day = weekday(g); break;
        }
        switch (day)
        {
        case mon:cout << "星期一" << endl; break;
        case tus:cout << "星期二" << endl; break;
        case wed:cout << "星期三" << endl; break;
        case thu:cout << "星期四" << endl; break;
        case fri:cout << "星期五" << endl; break;
        case sat:cout << "星期六" << endl; break;
        case sun:cout << "星期日" << endl; break;
        }
    }
    cout << endl;
    return 0;
}
相关推荐
猷咪17 分钟前
C++基础
开发语言·c++
IT·小灰灰18 分钟前
30行PHP,利用硅基流动API,网页客服瞬间上线
开发语言·人工智能·aigc·php
快点好好学习吧20 分钟前
phpize 依赖 php-config 获取 PHP 信息的庖丁解牛
android·开发语言·php
秦老师Q21 分钟前
php入门教程(超详细,一篇就够了!!!)
开发语言·mysql·php·db
烟锁池塘柳021 分钟前
解决Google Scholar “We‘re sorry... but your computer or network may be sending automated queries.”的问题
开发语言
是誰萆微了承諾21 分钟前
php 对接deepseek
android·开发语言·php
CSDN_RTKLIB24 分钟前
WideCharToMultiByte与T2A
c++
2601_9498683625 分钟前
Flutter for OpenHarmony 电子合同签署App实战 - 已签合同实现
java·开发语言·flutter
yyy(十一月限定版)38 分钟前
寒假集训4——二分排序
算法
星火开发设计38 分钟前
类型别名 typedef:让复杂类型更简洁
开发语言·c++·学习·算法·函数·知识