選ばれた動物の鳴き声を表示 (列挙体)
明解C言語 入門編 > 8. いろいろなプログラムを作ってみよう >
選ばれた動物の鳴き声を表示 (列挙体)
C
#include <stdio.h>enum animal
{
Dog
, Cat
, Monkey
, Invalid
};
void dog(void)
{
puts("ワンワン!!");
}
void cat(void)
{
puts("ニャ〜オ!!");
}
void monkey(void)
{
puts("キッキッ!!");
}
enum animal select(void)
{
int tmp;
do
{
printf("0…犬 1…猫 2…猿 3…終了");
scanf("%d", &tmp);
} while (tmp < Dog || tmp > Invalid);return (enum animal)tmp;
}
int main(int argc, char* argv[])
{
enum animal selected;do
{
switch (selected = select())
{
case Dog: dog(); break;
case Cat: cat(); break;
case Monkey: monkey(); break;
}
} while (selected < Invalid);return 0;
}
実行結果
R:\>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
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
Delphi
program Project1;{$APPTYPE CONSOLE}
uses
SysUtils;type
TAnimal =
(
Dog
, Cat
, Monkey
, Invalid
);procedure dog();
begin
writeln('ワンワン!!');
end;procedure cat();
begin
writeln('ニャ〜オ!!');
end;procedure monkey();
begin
writeln('キッキッ!!');
end;function select():TAnimal;
var
tmp: Integer;
begin
repeat
write('0…犬 1…猫 2…猿 3…終了');
read(tmp);
until (Integer(Dog) <= tmp) and (tmp <= Integer(Invalid));result := TAnimal(tmp);
end;procedure main();
var
selected: TAnimal;
begin
repeat
selected := select;
case selected of
Dog: dog;
Cat: cat;
Monkey: monkey;
end;
until (selected >= Invalid);
end;begin
main;
end.
実行結果
S:\>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