2017年11月17日金曜日

統合開発環境: Visual Studio 2017 (Windows 10 Pro(OS))

Head First C ―頭とからだで覚えるCの基本 (David Griffiths (著)、Dawn Griffiths (著)、中田 秀基 (監修)、木下 哲也 (翻訳)、オライリージャパン)の1章(Cを始める - Cの世界に飛び込む)、エクササイズ(p. 35)を取り組んでみる。

エクササイズ(p. 35)

コード

#include <stdio.h>
#include <stdlib.h>
int main()
{
 char card_name[3];
 int count = 0;
 do
 {
  puts("カード名を入力してください: ");
  scanf("%2s", card_name);
  int val = 0;
  switch (card_name[0])
  {
  case 'K':
  case 'Q':
  case 'J':
   val = 10;
   break;
  case 'A':
   val = 11;
   break;
  case 'X':
   return 0;
  default:
   val = atoi(card_name);
   if (val < 1 || 10 < val) {
    printf("%i: 無効なカードの値です。", val);
   }
   break;
  }
  if ((val > 2) && (val < 7)) {
   count++;
  }
  else if (val == 10) {
   count--;
  }
  printf("現在のカウント: %i\n", count);
 } while (true);
 return 0;
}

入出力結果(コマンドプロンプト)

カード名を入力してください:
0
0: 無効なカードの値です。現在のカウント: 0
カード名を入力してください:
1
現在のカウント: 0
カード名を入力してください:
2
現在のカウント: 0
カード名を入力してください:
3
現在のカウント: 1
カード名を入力してください:
4
現在のカウント: 2
カード名を入力してください:
5
現在のカウント: 3
カード名を入力してください:
6
現在のカウント: 4
カード名を入力してください:
7
現在のカウント: 4
カード名を入力してください:
8
現在のカウント: 4
カード名を入力してください:
9
現在のカウント: 4
カード名を入力してください:
10
現在のカウント: 3
カード名を入力してください:
J
現在のカウント: 2
カード名を入力してください:
Q
現在のカウント: 1
カード名を入力してください:
K
現在のカウント: 0
カード名を入力してください:
B
0: 無効なカードの値です。現在のカウント: 0
カード名を入力してください:
X
続行するには何かキーを押してください . . .

0 コメント:

コメントを投稿