#include <stdio.h>
/* #defineについては第18章参照 */
#define NINZUU 20 /* 人数 */
struct list {
char name[20];
double taijyu;
double sincyou;
};
void print_dt( struct list *sp );
int main( void )
{
struct list sintai[NINZUU+1];
int i=0;
printf( "氏名、体重、身長を入力しなさい。(終了条件:Ctrl+Z)\n" );
while( ( scanf( "%s %lf %lf", sintai[i].name, &sintai[i].taijyu,
&sintai[i].sincyou )!=EOF ) && i<NINZUU ) {
i++;
}
sintai[i].taijyu = -1; /* ストッパーの設定 */
sintai[i].sincyou = -1; /* ストッパーの設定 */
print_dt( sintai ); /* データ表示 */
return 0;
}
/*** データ表示処理 ***/
void print_dt( struct list *sp )
{
printf( "氏名 体重 身長\n" );
while( sp->taijyu != -1 && sp->sincyou != -1 ) { /* ストッパーまでループ */
printf( "%-20s %5.1f %5.1f\n", sp->name, sp->taijyu, sp->sincyou );
sp++;
}
}
※Windows9xとMe上で、Windows系のCを用いて「CTRL+Z」の入力を実行した場合、
「CTRL+Z」の入力後、次の改行までの表示が行なわれません。(2002.06.11 追記)
▼戻る▼
「初心者のためのポイント学習C言語」 Copyright(c) 2000-2004 TOMOJI All Rights Reserved