Cを始める - Cの世界に飛び込む - ブール値
Head First C ―頭とからだで覚えるCの基本、 David Griffiths(著)、 Dawn Griffiths(著)、 中田 秀基(監修)、 木下 哲也(翻訳)、 O’Reilly Media)の 1章(Cを始める - Cの世界に飛び込む)、p.19(エクササイズ)の解答を求めてみる。
コード
main.c
#include <stdio.h>
#include <stdlib.h>
int main()
{
char card_name[3];
puts("カード名を入力してください:");
scanf("%2s", card_name);
int val = 0;
if (card_name[0] == 'K')
{
val = 10;
}
else if (card_name[0] == 'Q')
{
val = 10;
}
else if (card_name[0] == 'J')
{
val = 10;
}
else if (card_name[0] == 'A')
{
val = 11;
}
else
{
val = atoi(card_name);
}
if (3 <= val && val <= 6)
{
puts("カウントが増えます。");
}
else if (val == 10)
{
puts("カウントが減ります");
}
}
入出力結果(Terminal, Zsh)
% cc main.c && ./a.out
カード名を入力してください:
2
% cc main.c && ./a.out
カード名を入力してください:
3
カウントが増えます。
% cc main.c && ./a.out
カード名を入力してください:
5
カウントが増えます。
% cc main.c && ./a.out
カード名を入力してください:
6
カウントが増えます。
% cc main.c && ./a.out
カード名を入力してください:
7
% cc main.c && ./a.out
カード名を入力してください:
10
カウントが減ります
% cc main.c && ./a.out
カード名を入力してください:
Jack
カウントが減ります
% cc main.c && ./a.out
カード名を入力してください:
King
カウントが減ります
%