プログラミング+α学習ブログ

勉強したことの備忘録です。

選ばれた季節の趣を表示するプログラム

#include <stdio.h>

enum season { Spring, Summer, Fall, Winter, Invalid };

/*--- 春 ---*/
void spring(void)
{
    puts("春はあけぼの");
}

/*--- 夏 ---*/
void summer(void)
{
    puts("夏は夜");
}

/*--- 秋 ---*/
void fall(void)
{
    puts("秋は夕暮れ");
}

/*--- 冬 ---*/
void winter(void)
{
    puts("冬はつとめて");
}

/*--- 季節を選ぶ ---*/
enum season select(void)
{
    int tmp;
    
    do {
        printf("0・・・春 1・・・夏 2・・・秋 3・・・冬 4・・・終了:");
        scanf("%d", &tmp);
    } while (tmp < Spring || tmp > Invalid);
    return (tmp);
}

int main(void)
{
    enum season selected;
    
    do {
        switch (selected = select()) {
            case Spring : spring(); break; // 春
            case Summer : summer(); break; // 夏
            case Fall   : fall();   break; // 秋
            case Winter : winter(); break; // 冬
        }
    } while (selected != Invalid);
    
    return (0);
}

実行結果

0・・・春 1・・・夏 2・・・秋 3・・・冬 4・・・終了:0
春はあけぼの
0・・・春 1・・・夏 2・・・秋 3・・・冬 4・・・終了:2
秋は夕暮れ
0・・・春 1・・・夏 2・・・秋 3・・・冬 4・・・終了:4