前のページへ このページの先頭へ 次のページへ


13.ファイル処理
ファイル処理
コンピュータで作業を行う際には、プログラムの作成と同時に、そのプログラム上で行う処理に必要なデータの存在が不可欠です。予め他の記憶装置に保存されているデータの書き込みとの呼び出し方法を学びます。

データの書き込み

学籍番号、氏名、国語、英語、数学の得点を入力し、Zドライブにseiseki.datと言う名前で保存するプログラムを作ってみましょう。

サンプル13−1
#include <stdio.h>
int main()
{
/*変数の設定*/
char name[20];
int num, koku , ei , suu ,retry;
FILE * fp ;
retry = 0;

fp=fopen("seiseki.dat" , "w"); /*ファイルを開いて書き込み*/

while(retry == 0){
printf("学籍番号を入力してください ") ;
scanf("%d" , &num);
printf("氏名を入力してください ";) ;
scanf("%s" , name) ;
printf("国語の点数を入力してください ") ;
scanf("%d" , &koku) ;
printf("英語の点数を入力してください ") ;
scanf("%d" , &ei) ;
printf("数学の点数を入力してください ") ;
scanf("%d" , &suu) ;
fprintf(fp , "%8d%-20s%5d%5d%5d\n" , num , name , koku , ei , suu) ;
printf("追加しますか? yes=0, no=1 ") ;
scanf("%d" , &retry) ;
}

fclose(fp); /*ファイルをクローズ*/

return(0) ;
}


データの出力

サンプル13−2
#include <stdio.h>
int main()
{
/*変数の設定*/
char name[20];
int num, koku , ei , suu ;
FILE * fp ;

fp=fopen("seiseki.dat" , "r");/*ファイルを開いて
読み込み*/
while((fscanf(fp,"%d%s%d%d%d" , &num , name , &koku , &ei , &suu)) != EOF)
{
printf("%8d%-20s%5d%5d%5d\n" , num , name , koku , ei , suu) ;
}
fclose(fp); /*ファイルをクローズ*/
return(0) ;
}



前のページへ このページの先頭へ 次のページへ 


プログラミングホーム