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