開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料、light版)
- 言語: C
- コンパイラ: UNIX ccコンパイラ (汎用UNIX)
『実践プログラミング 第3版』 (Steve Oualline (著)、 望月 康司 (監修) (翻訳)、 谷口 功 (翻訳)、 オライリー・ジャパン、1998年、ISBN978-4900900646) II部(単純なプログラミング)の12章(高度な型)12.9(プログラミング実習)実習12-4を解いてみる。
実習12-4.
コード(TextWrangler)
#include <stdio.h> #include <string.h> struct ticket{ char flight[100]; char d[4]; char a[4]; char dtime[6]; char atime[6]; }; void p(struct ticket t); int main(){ int i; const int size = 4; char line[100], d1[4], d2[4]; struct ticket t1 = { "便名1", "abc", "def", "10:00", "15:00" }; struct ticket t2 = { "便名2", "abc", "ghi", "11:00", "16:00" }; struct ticket t3 = { "便名3", "def", "abc", "10:00", "15:00" }; struct ticket t4 = { "便名4", "ghi", "def", "11:00", "16:00" }; struct ticket ts[size] = {t1, t2, t3, t4}; printf("出発空港コードを2つ(xxx xxx)入力: "); fgets(line,sizeof(line),stdin); sscanf(line, "%s %s", d1, d2); for(i = 0; i < size; i++){ if(strcmp(d1, ts[i].d) == 0 || strcmp(d2, ts[i].d) == 0){ p(ts[i]); } } return (0); } void p(struct ticket t){ printf("便名: %s\n出発空港コード: %s\n到着空港コード: %s\n出発時刻: %s\n到着時刻: %s\n", t.flight, t.d, t.a, t.dtime, t.atime); }
入出力結果(Terminal)
$ cc -g -o sample sample.c $ ./sample 出発空港コードを2つ(xxx xxx)入力: abc ghi 便名: 便名1 出発空港コード: abc 到着空港コード: def 出発時刻: 10:00 到着時刻: 15:00 便名: 便名2 出発空港コード: abc 到着空港コード: ghi 出発時刻: 11:00 到着時刻: 16:00 便名: 便名4 出発空港コード: ghi 到着空港コード: def 出発時刻: 11:00 到着時刻: 16:00 $
0 コメント:
コメントを投稿