结构体:枚举

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;
}
相关推荐
软件黑马王子10 分钟前
C#初级教程(4)——流程控制:从基础到实践
开发语言·c#
闲猫13 分钟前
go orm GORM
开发语言·后端·golang
计算机小白一个39 分钟前
蓝桥杯 Java B 组之设计 LRU 缓存
java·算法·蓝桥杯
万事可爱^1 小时前
HDBSCAN:密度自适应的层次聚类算法解析与实践
算法·机器学习·数据挖掘·聚类·hdbscan
黑不溜秋的1 小时前
C++ 设计模式 - 策略模式
c++·设计模式·策略模式
李白同学2 小时前
【C语言】结构体内存对齐问题
c语言·开发语言
黑子哥呢?3 小时前
安装Bash completion解决tab不能补全问题
开发语言·bash
青龙小码农3 小时前
yum报错:bash: /usr/bin/yum: /usr/bin/python: 坏的解释器:没有那个文件或目录
开发语言·python·bash·liunx
大数据追光猿3 小时前
Python应用算法之贪心算法理解和实践
大数据·开发语言·人工智能·python·深度学习·算法·贪心算法
Dream it possible!3 小时前
LeetCode 热题 100_在排序数组中查找元素的第一个和最后一个位置(65_34_中等_C++)(二分查找)(一次二分查找+挨个搜索;两次二分查找)
c++·算法·leetcode