開発環境
- 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 コメント:
コメントを投稿