例えば,あるクラスの学生の試験点数が,学籍番号順に入っているファイルがあるとします.例えば次のようなファイルです。95 37 78 37最初の学籍番号の人は95点,次の人は37点というように入っています。このとき,このクラスの平均点を求めるプログラムを考えます。平均点を求めるには,クラスの生徒数と総得点を求める必要があります。ここではこの2つの数をそれぞれnum, sumという整数型の変数を使って求めることにします。全体のフローチャートは次のようになるでしょう。まず最初に,2つの変数num, sumの値をゼロにしておきます。そろばんで読み上げられていく値の合計を求めるときに,「ご和算で願いましては」と最初に言われたら玉をすべてゼロにするのと同じですね。これから加算していく変数の初期値をセットします。
図8-1 クラスの平均点を求めるプログラム
あとは,ファイルのデータを読み切るまでは,順に点数を読み込んではこの2つの変数を加算していきます。読み込んだデータは,ここではファイルの1人分の内容をvalという名前の整数型の変数に格納するものとしています。
ファイルのデータをすべて読み終わったら,平均点を表示して終わります。
この処理から,ファイルの入出力を行うために,次の処理が必要であることがわかります。
- ファイルから1つデータを読み込んで変数に格納する
- ファイルのデータをすべて読み込んだのかどうかを判断する
また,次の処理も必要であることは容易に想像できます。
- なんという名前のファイルから読み込むのか(または書き込むのか)を指定する
- ファイルに1つデータを書き込む
これから,これらの処理を行うために,C言語でどのような関数が用意されているのかを順に説明します。