2018年6月5日火曜日

開発環境

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

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

Makefile

CC = cc

all: sample run

sample: sample.c
 $(CC) sample.c -o sample

run: sample
 ./sample

コード

#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;
};

struct Fish snappy = {"スナッピー",
                      "ピラニア",
                      69,
                      4,
                      {{"肉", 0.1}, {"ジャグジーでの泳ぎ", 7.5}}};

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() { label(snappy); }

入出力結果(Terminal)

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

0 コメント:

コメントを投稿