#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