#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