開発環境
- 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 name[100]; char from[4]; char to[4]; char time1[100]; char time2[100]; }; struct ticket p(struct ticket t){ printf("便名: %s\n",t.name); printf("出発空港コード: %s\n",t.from); printf("到着空港コード: %s\n",t.to); printf("出発時刻: %s\n",t.time1); printf("到着時刻: %s\n",t.time2); } int main(){ char from[4]; char line[100]; int i; struct ticket t1 = { "便名1", "123", "456", "9:00", "12:00", }, t2 = { "便名2", "456", "789", "12:00", "15:00", }, t3 = { "便名3", "789", "123", "15:00", "18:00", }, t4 = { "便名4", "123", "789", "18:00", "21:00", }; struct ticket tickets[] = {t1,t2,t3,t4}; while(1){ printf("空港コードを入力: "); fgets(line,sizeof(line),stdin); sscanf(line,"%s",from); for(i = 0 ; i < 4 ; i++){ if(strcmp(tickets[i].from,from) == 0){ p(tickets[i]); } } } return(0); }
入出力結果(Terminal)
$ cc -g -o sample sample.c $ ./sample 空港コードを入力: 123 便名: 便名1 出発空港コード: 123 到着空港コード: 456 出発時刻: 9:00 到着時刻: 12:00 便名: 便名4 出発空港コード: 123 到着空港コード: 789 出発時刻: 18:00 到着時刻: 21:00 空港コードを入力: 456 便名: 便名2 出発空港コード: 456 到着空港コード: 789 出発時刻: 12:00 到着時刻: 15:00 空港コードを入力: 789 便名: 便名3 出発空港コード: 789 到着空港コード: 123 出発時刻: 15:00 到着時刻: 18:00 空港コードを入力: 000 空港コードを入力: ^C $
0 コメント:
コメントを投稿