Previous: 初期化
Up: 構造体 I
Next: 復習
Previous Page: 初期化
Next Page: 復習

標準関数 --- gets()

キーボードなどの標準入力から複数の文字を指定した領域に、 リターンか、またはファイルの終わりになるまで読み込む関数が、 gets である。

main(){
                char str[80];
                while(gets(str)!=NULL){
                    printf("%s\n",str);
                }
        }

この例は、ファイルの終わり、又はキーボードから ctrl+D が入力されるまで、 入力を複製するだけのプログラム。

gets() は、ファイルの終わり、又はエラーの時は、システムで決められた特別 な値 NULL を返す。

但し、 get() では、改行は捨てられるので、改行したい場合は、自分で改行を 指示しなければならない点に注意。

課題17

cd c を実行した後で( /c に移動した後で )、以下の課題を やってみよ。

課題 17.1
構造体を使う I

自分の名前(ローマ字)、学籍番号、学科(ローマ字)、組 を格納する構造体を 宣言し、初期化せよ。また、それらをディスプレイに表示せよ。 但し、構造体の名前は、gakusei とせよ。

課題 17.2
構造体を使う II

課題17.1 のプログラムを関数にし、関数の型は課題17.1 で作成した struct gakusei 型にせよ。

課題 17.3
構造体を使う III

課題17.2 で作成した関数で、名前、学籍番号、学科、組をキーボードから入力出来る ように改造せよ。

課題 17.4
構造体を使う IV

課題 17.3 を改造し、更に、前期、後期テストの成績と出席回数を入力するように せよ。但し、1年の出席回数は30回とする。 更に、 main 関数で、構造体メンバーに入力された値を用いて、以下の式で 通年成績をつけ、結果を表示するようにせよ。

通年の成績 = (前期 + 後期)x 7 / 10.0 + 出席回数

自分の前期のテストの点数が分かっているならば、出席回数を適当に入れて、後期 何点とれば60点以上になるか、試して見よ。

 

作成したプログラムをメイルで金山まで送りなさい。題は、kadai17 とする事。

maruyama@wakhok.ac.jp
1995年02月08日 (水) 18時57分57秒 JST