게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[본삭금] c언어 함수
게시물ID : programmer_10950짧은주소 복사하기
작성자 : 수원오징어
추천 : 0
조회수 : 422회
댓글수 : 8개
등록시간 : 2015/06/07 06:50:28
옵션
  • 본인삭제금지
함수에 익숙해져보려고 전에 짯던 소스를 함수로 쪼개고있는데
#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;             
   }   
  } 
 } 
일단 이렇게 쪼갰더니 입력은 받는데 다받고나서 디버그에러가납니다 .. 왜그런건가요
그리고 함수로 나눌때 문구만 출력하는 저것도 함수로 나누는게 보기좋나요.. 아니면 그냥 메인함수에 냅두는게 더좋나요.. 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호