2018年3月31日土曜日

開発環境

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

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

Makefile

CC = cc

all: 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 Preferencces {
  struct Meal food;
  struct Exercise exercise;
};

struct Fish {
  const char *name;
  const char *species;
  int teeth;
  int age;
  struct Preferencces care;
};

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

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

入出力結果(Terminal)

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

0 コメント:

コメントを投稿