2014年12月10日水曜日

開発環境

Head First C ―頭とからだで覚えるCの基本(David Griffiths (著)、Dawn Griffiths (著) 中田 秀基(監訳)(翻訳)、木下 哲也 (翻訳)、オライリージャパン)の5章(構造体、共用体、ビットフィールド: 独自の構造を使う)、長いエクササイズ(p.228)を解いてみる。

その他参考書籍

長いエクササイズ(p.228)

コード(BBEdit, Emacs)

sample228.c

#include <stdio.h>

struct exercise {
  const char *description;
  float duration;
};
struct meal {
  const char *ingredients;
  float weight;
};
struct preferences {
  struct meal food;
  struct exercise exercise;
};
struct fish {
  const char *name;
  const char *species;
  int teeth;
  int age;
  struct preferences care;
};

void label(struct fish a)
{
  printf("名前: %s\n種類: %s\n%d本の歯、%d才\n"
         "餌は%2.2fキロの%sを与え、%sを%2.2f時間行わせます。\n",
         a.name, a.species, a.teeth, a.age,
         a.care.food.weight, a.care.food.ingredients,
         a.care.exercise.description, a.care.exercise.duration);
}

int main()
{
  struct fish snappy =
    {.name="スナッピー", .species="ピラニア", .teeth=69, .age=4,
     .care={.food={.ingredients="肉", .weight=0.1},
            .exercise={.description="ジャグジーでの泳ぎ",.duration=7.5}}};
  label(snappy);
}

入出力結果(Terminal)

$ ./sample228
名前: スナッピー
種類: ピラニア
69本の歯、4才
餌は0.10キロの肉を与え、ジャグジーでの泳ぎを7.50時間行わせます。
$

0 コメント:

コメントを投稿