開発環境
- OS: Windows 10 Pro
- IDE(統合開発環境): Visual Studio 2017 (Clang/C2(試験的))
- プログラミング言語: C(Visual C)
Head First C ―頭とからだで覚えるCの基本 (David Griffiths (著)、Dawn Griffiths (著)、中田 秀基 (監修)、木下 哲也 (翻訳)、オライリージャパン)の7章(高度な関数 - 関数を最大限に活用する)、プールパズル(p. 335)を取り組んでみる。
プールパズル(p. 335)
コード
#include <stdlib.h> // system #include <stdio.h> enum response_type { DUMP, SECOND_CHANCE, MARRIAGE }; typedef struct { char *name; enum response_type type; } Response; void dump(Response r) { printf("%sさんへ、\n", r.name); puts("残念ながら、前回のデートの結果、\n" "再度お会いすることはないと連絡を受けました"); } void second_chance(Response r) { printf("%sさんへ\n", r.name); puts("よいお知らせです。前回のデートの結果\n" "もう一度お会いしたいとの連絡を受けました。至急ご連絡ください。"); } void marriage(Response r) { printf("%sさんへ\n", r.name); puts("おめでとうございます!前回のデートの結果、" "結婚を申しこみたいとの連絡を受けました。"); } int main() { Response r[] = { {"マイク", DUMP}, {"ルイス", SECOND_CHANCE}, {"マット", SECOND_CHANCE}, {"ウィリアム", MARRIAGE} }; for (size_t i = 0; i < 4; i++) { switch (r[i].type) { case DUMP: dump(r[i]); break; case SECOND_CHANCE: second_chance(r[i]); break; case MARRIAGE: marriage(r[i]); break; default: break; } } system("pause"); return 0; }
入出力結果(コマンドプロンプト)
マイクさんへ、 残念ながら、前回のデートの結果、 再度お会いすることはないと連絡を受けました ルイスさんへ よいお知らせです。前回のデートの結果 もう一度お会いしたいとの連絡を受けました。至急ご連絡ください。 マットさんへ よいお知らせです。前回のデートの結果 もう一度お会いしたいとの連絡を受けました。至急ご連絡ください。 ウィリアムさんへ おめでとうございます!前回のデートの結果、結婚を申しこみたいとの連絡を受けました。 続行するには何かキーを押してください . . .
0 コメント:
コメントを投稿