質問ですが
教えていただきたいのですが、C言語で名前と点数を入力して合計と平均を求めるというプログラムを作ったのですが、
main関数の中で情報入力、合計と平均の計算をしているのでそれぞれ入力関数、合計を求める関数、平均を求める関数というものを作ってmain関数をすっきりとさせたいのですがどうすればいいですか?
#include <stdio.h>
typedef struct{
char name[15];
int jpn;
int eng;
int math;
int sum;
} stdent;
typedef struct{
double sum;
double jpn;
double eng;
double math;
} Score;
void maxmin(stdent *, int);
main()
{
int i, n;
n = 5;
stdent person[n];
Score average;
average.jpn = 0;
average.eng = 0;
average.math = 0;
average.sum = 0;
for(i = 0; i < n; i++)
{
printf("Student No.%d \n",i + 1);
printf("Name? ");
scanf("%s", person[i].name);
printf("Japanese? ");
scanf("%d", &(person[i].jpn));
printf("English? ");
scanf("%d", &(person[i].eng));
printf("Math? ");
scanf("%d", &(person[i].math));
printf("\n");
person[i].sum = person[i].jpn + person[i].eng + person[i].math;
average.jpn += person[i].jpn;
average.eng += person[i].eng;
average.math += person[i].math;
average.sum += person[i].sum;
}
average.jpn /= n;
average.eng /= n;
average.math /= n;
average.sum /= n;
printf(" 名前 国語 英語 数学 \n");
printf("------------------------------------\n");
for(i = 0; i < n; i++)
{
printf("%8s %3d %3d %3d %3d\n", person[i].name, person[i].jpn, person[i].eng, person[i].math, person[i].sum);
}
printf("------------------------------------\n");
printf("平均 %.1lf %.1lf %.1lf %.1lf\n\n", average.jpn,average.eng,average.math,average.sum);
return 0;
}