開発環境
- OS: macOS High Sierra - Apple
- IDE(統合開発環境): Xcode - Apple
- プログラミング言語: C
Head First C ―頭とからだで覚えるCの基本 (David Griffiths (著)、Dawn Griffiths (著)、中田 秀基 (監修)、木下 哲也 (翻訳)、オライリージャパン)の5章(構造体、共用体、ビットフィールド - 独自の構造を使う)、コードマグネット(p. 256)を取り組んでみる。
コードマグネット(p. 256)
//
// main.c
// sample1
//
// Created by kamimura on 2018/02/03.
// Copyright © 2018 kamimura. All rights reserved.
//
#include <stdio.h>
typedef enum {
COUNT, POUNDS, PINTS
} unit_of_measure;
typedef union {
short count;
float weight;
float volume;
} Quantity;
typedef struct {
char * const name;
char * const country;
Quantity amount;
unit_of_measure units;
} FruitOrder;
void display(FruitOrder order) {
printf("この注文に含まれるものは");
switch (order.units) {
case COUNT:
printf("%i個の%sです。\n",
order.amount.count, order.name);
break;
case POUNDS:
printf("%2.2fポンドの%sです。\n",
order.amount.weight, order.name);
break;
case PINTS:
printf("%2.2fパイントの%sです。\n",
order.amount.volume, order.name);
break;
default:
break;
}
}
int main() {
FruitOrder appples = {"リンゴ", "イギリス", .amount.count=144, COUNT};
FruitOrder strawberries = {"いちご", "スペイン", .amount.weight=17.6, POUNDS};
FruitOrder oj = {"オレンジジュース", "アメリカ", .amount.volume = 10.5, PINTS};
display(appples);
display(strawberries);
display(oj);
return 0;
}
入出力結果(Terminal)
この注文に含まれるものは144個のリンゴです。 この注文に含まれるものは17.60ポンドのいちごです。 この注文に含まれるものは10.50パイントのオレンジジュースです。 Program ended with exit code: 0
0 コメント:
コメントを投稿