7-3
#include <stdio.h>
#include <stdlib.h>
main()
{
ファイルポインタの宣言
FILE *fp;
float height_goukei=0,weight_goukei=0,ninzu=0,height_avg=0,weight_avg=0,height=0,weight=0;
int no,ninzu=0,flag;
char name;
ファイルのオープン
fp = fopen("stu_data.txt","r");
ファイルの存在の確認
if(fp == NULL){
printf("open error! can not open file!\n");
exit(-1);
}
一件先読み
flag = fscanf(fp,"%d%s%f%f",&no,name,&height,&weight);
ファイル読み込み・出力
while(flag != EOF){
height_goukei=height_goukei+height;
weight_goukei=weight_goukei+weight;
ninzu++;
printf("%d%s%f%f",no,name,height,weight);
flag = fscanf(fp,"%d%s%f%f",&no,name,&height,&weight);
}
height_avg=height_goukei/ninzu;
weight_avg=weight_goukei/ninzu;
printf("ninzu = %d\nheight_avg = %f\nweight_avg = %f\n",ninzu,height_avg,weight_avg);
ファイルのクローズ
fclose(fp);
}
 
7-4
#include <stdio.h>
#include <stdlib.h>
main()
{
ファイルポインタの宣言
FILE *fp;
int no,pro,herd,flag;
char file[100];
printf("Input file name ==>");
scanf("%s",file);
ファイルのオープン
fp = fopen(file,"w");
ファイルの存在の確認
if(fp == NULL){
printf("open error! can not open file!\n");
exit(-1);
}
printf("Input data\n");
一件先読み
flag = fscanf("%d%d%d",&no,&pro,&herd);
ファイル読み込み・出力
while(flag != EOF){
fprintf(fp,"%d%d%d\n",no,pro,herd);
flag = scanf("%d%d%d",&no,&pro,&herd);
}
ファイルのクローズ
fclose(fp);
}

7-5
#include <stdio.h>
#include <stdlib.h>
main()
{
ファイルポインタの宣言
FILE *fp;
int no,pro,herd,flag,pro_goukei=0,herd_goukei=0;
float pro_avg=0,herd_avg=0;
char file[100];
printf("Input file name ==>");
scanf("%s",file);
ファイルのオープン
fp = fopen(file,"r");
ファイルの存在の確認
if(fp == NULL){
printf("open error! can not open file!\n");
exit(-1);
}
一件先読み
flag = fscanf(fp,"%d%d%d",&no,&pro,&herd);
ファイル読み込み・出力
while(flag != EOF){
pro_goukei=pro_goukei+pro;
herd_goukei=herd_goukei+herd;
ninzu++;
printf("%d%d%d",no,pro,herd);
flag = fscanf(fp,"%d%d%d",&no,&pro,&herd);
}
pro_avg=pro_goukei/ninzu;
herd_avg=herd_goukei/ninzu;
printf("ninzu = %d\npro_avg = %f\nherd_avg = %f\n",ninzu,pro_avg,herd_avg);
ファイルのクローズ
fclose(fp);
}