開発環境
- OS: Windows 10 Pro
- IDE(統合開発環境): Visual Studio 2017
- プログラミング言語: C(Visual C): Visual Studio 2017
Head First C ―頭とからだで覚えるCの基本 (David Griffiths (著)、Dawn Griffiths (著)、中田 秀基 (監修)、木下 哲也 (翻訳)、オライリージャパン)の5章(構造体、共用体、ビットフィールド - 独自の構造を使う)、コードマグネット(p. 256)を取り組んでみる。
コードマグネット(p. 256)
コード
#include <stdlib.h> // sytem
#include <stdio.h>
typedef enum
{
COUNT, POUNDS, PINTS
} unit_of_measure;
typedef union
{
short count;
float weight;
float volume;
} quantity;
typedef struct
{
const char *name;
const char *country;
quantity amount;
unit_of_measure units;
} FruitOrder;
void display(FruitOrder order)
{
printf("この注文に含まれるものは");
if (order.units == PINTS)
printf("%2.2fパイントの%sです。\n", order.amount.volume, order.name);
else if (order.units == POUNDS)
printf("%2.2fポンドの%sです。\n", order.amount.weight, order.name);
else
printf("%i個の%sです。\n", order.amount.count, order.name);
}
int main()
{
FruitOrder apples = { "リンゴ", "イギリス" };
apples.amount.count = 144;
apples.units = COUNT;
FruitOrder strawberries = { "いちご", "スペイン" };
strawberries.amount.weight = 17.6;
strawberries.units = POUNDS;
FruitOrder oj = { "オレンジジュース", "アメリカ" };
oj.amount.volume = 10.5,
oj.units = PINTS;
display(apples);
display(strawberries);
display(oj);
system("pause");
return 0;
}
入出力結果(コマンドプロンプト)
この注文に含まれるものは144個のリンゴです。 この注文に含まれるものは17.60ポンドのいちごです。 この注文に含まれるものは10.50パイントのオレンジジュースです。 続行するには何かキーを押してください . . .
0 コメント:
コメントを投稿