選ばれた動物の鳴き声を表示 (列挙体)

明解C言語 入門編 > 8. いろいろなプログラムを作ってみよう >

選ばれた動物の鳴き声を表示 (列挙体)

C++


#include <stdio.h>

enum animal
{
Dog
, Cat
, Monkey
, Invalid
};
void dog(void)
{
puts("ワンワン!!");
}
void cat(void)
{
puts("ニャ〜オ!!");
}
void monkey(void)
{
puts("キッキッ!!");
}
animal select(void)
{
int tmp;
do
{
printf("0…犬 1…猫 2…猿 3…終了");
scanf("%d", &tmp);
} while (tmp < Dog || tmp > Invalid);

return animal(tmp);
}
int main(int argc, char* argv[])
{
animal selected;

do
{
switch (selected = select())
{
case Dog: dog(); break;
case Cat: cat(); break;
case Monkey: monkey(); break;
}
} while (selected < Invalid);

return 0;
}

実行結果

T:\>lesson062\Project1.exe
0…犬 1…猫 2…猿 3…終了0
ワンワン!!
0…犬 1…猫 2…猿 3…終了1
ニャ〜オ!!
0…犬 1…猫 2…猿 3…終了2
キッキッ!!
0…犬 1…猫 2…猿 3…終了9
0…犬 1…猫 2…猿 3…終了3