Previous: 初期化
Up: 構造体 I
Next: 復習
Previous Page: 初期化
Next Page: 復習
キーボードなどの標準入力から複数の文字を指定した領域に、 リターンか、またはファイルの終わりになるまで読み込む関数が、 gets である。
main(){ char str[80]; while(gets(str)!=NULL){ printf("%s\n",str); } }
この例は、ファイルの終わり、又はキーボードから ctrl+D が入力されるまで、 入力を複製するだけのプログラム。
gets() は、ファイルの終わり、又はエラーの時は、システムで決められた特別 な値 NULL を返す。
但し、 get() では、改行は捨てられるので、改行したい場合は、自分で改行を 指示しなければならない点に注意。
課題17
cd c を実行した後で( /c に移動した後で )、以下の課題を やってみよ。
自分の名前(ローマ字)、学籍番号、学科(ローマ字)、組 を格納する構造体を 宣言し、初期化せよ。また、それらをディスプレイに表示せよ。 但し、構造体の名前は、gakusei とせよ。
課題17.1 のプログラムを関数にし、関数の型は課題17.1 で作成した struct gakusei 型にせよ。
課題17.2 で作成した関数で、名前、学籍番号、学科、組をキーボードから入力出来る ように改造せよ。
課題 17.3 を改造し、更に、前期、後期テストの成績と出席回数を入力するように せよ。但し、1年の出席回数は30回とする。 更に、 main 関数で、構造体メンバーに入力された値を用いて、以下の式で 通年成績をつけ、結果を表示するようにせよ。
通年の成績 = (前期 + 後期)x 7 / 10.0 + 出席回数
自分の前期のテストの点数が分かっているならば、出席回数を適当に入れて、後期 何点とれば60点以上になるか、試して見よ。
作成したプログラムをメイルで金山まで送りなさい。題は、kadai17 とする事。