2015年4月13日月曜日

開発環境

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

その他参考書籍

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

コード(BBEdit, Emacs)

#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%i本の歯、%i才\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)

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

0 コメント:

コメントを投稿