#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