함수에 익숙해져보려고 전에 짯던 소스를 함수로 쪼개고있는데
#include <stdio.h>
void print();
void print1();
void input(int n,int num[100],int kor[100],int eng[100], int mat[100]);
void Swap(int n, int sum[100], int num[100], double avg[100]);
int main()
{
int i, j,num[100], temp,temp1;
int n;
double temp2;
int kor[100],eng[100],mat[100];
double kors=0, engs=0, mats=0;
double avgk=0,avgm=0,avge=0;
int sum[100];
double avg[100];
print();
printf("성적 처리할 학생들이 몇명입니까? ");
scanf("%d",&n);
input(n, num, kor, eng, mat);
sum[i]=kor[i]+eng[i]+mat[i];
avg[i]=(double)sum[i]/n;
kors+=kor[i];
engs+=eng[i];
mats+=mat[i];
avgk=(double)kors/n;
avgm=(double)mats/n;
avge=(double)engs/n;
print1();
Swap(n, sum, num, avg);
for(i=0;i<n;i++)
printf("%d %d %g\n",num[i],sum[i],avg[i]);
printf("국어 평균: %g\n",avgk);
printf("영어 평균: %g\n",avge);
printf("수학 평균: %g\n",avgm);
return 0;
}
void print()
{
printf("┌─────────────┐\n");
printf("│성적 처리 프로그램입니다. │\n");
printf("└─────────────┘\n");
}
void input(int n,int num[100],int kor[100],int eng[100], int mat[100])
{
int i;
for(i=0;i<n;i++)
{
printf("%d번째 학생의 학번을 입력하고 Enter를 누르세요=",i+1);
scanf("%d",&num[i]);
printf("국어점수를 입력하고 Enter를 누르세요=");
scanf("%d",&kor[i]);
printf("영어점수를 입력하고 Enter를 누르세요=");
scanf("%d",&eng[i]);
printf("수학점수를 입력하고 Enter를 누르세요=");
scanf("%d",&mat[i]);
}
}
void print1()
{
printf("┌─────────────────┐\n");
printf("│등수순으로 성적처리한 결과입니다. │\n");
printf("└─────────────────┘\n");
}
void Swap(int n, int sum[100], int num[100], double avg[100])
{
int i,j,temp,temp1;
double temp2;
for(i=0; i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(sum[i] < sum[j])
{
temp=num[i];
num[i]=num[j];
num[j]=temp;
temp1=sum[i];
sum[i]=sum[j];
sum[j]=temp1;
temp2=avg[i];
avg[i]=avg[j];
avg[j]=temp2;
}
}
}
}
일단 이렇게 쪼갰더니 입력은 받는데 다받고나서 디버그에러가납니다 .. 왜그런건가요
그리고 함수로 나눌때 문구만 출력하는 저것도 함수로 나누는게 보기좋나요.. 아니면 그냥 메인함수에 냅두는게 더좋나요..