#include <stdio.h> #include <string.h> struct date { int yy; /* 年 */ int mm; /* 月 */ int dd; /* 日 */ }; struct tosyo { char name[100]; /* 図書名 */ struct date henkyaku; /* 返却予定日 */ }; int main( void ) { struct tosyo work = { "", 0, 0, 0 }; struct tosyo rireki[100]; int cnt = 0, i; printf( "図書名、返却予定年月日を入力しなさい。(終了条件:Ctrl+Z)\n" ); while( scanf( "%s %d %d %d", work.name, &work.henkyaku.yy, &work.henkyaku.mm, &work.henkyaku.dd ) != EOF ) { for ( i = 0; i < cnt; i++ ) { /* 貸し出し中 */ if ( strcmp( work.name, rireki[i].name ) == 0 ) { printf( "貸し出し中です。別の本を指定してください。\n" ); break; } } /* 貸し出しOK */ if ( i == cnt ) { printf( "貸し出しOKです。\n" ); rireki[i] = work; cnt++; } printf( "\n図書名、返却予定年月日を入力しなさい。(終了条件:Ctrl+Z)\n" ); } for ( i = 0; i < cnt; i++ ) { printf( "%-20s %4d.%2d.%2d\n", rireki[i].name, rireki[i].henkyaku.yy, rireki[i].henkyaku.mm, rireki[i].henkyaku.dd ); } return 0; } ※Windows9xとMe上で、Windows系のCを用いて「CTRL+Z」の入力を実行した場合、 「CTRL+Z」の入力後、次の改行までの表示が行なわれません。(2002.06.11 追記)
▼戻る▼
「初心者のためのポイント学習C言語」 Copyright(c) 2000-2004 TOMOJI All Rights Reserved