Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[4772] Re:Re:소스 수정 부탁드립니다. 질문입니다.
김시환 [godson2] 1192 읽음    2004-11-18 22:58
프로그램은 처음 버릇이 상당히 중요하다고 생각됩니다.
똑같은 결과가 나오더라도 나중에 수정이나 디버깅에 애를 먹을 수 있으므로
코딩을 할 때 신경을 좀 써야 합니다.

1. 먼저 함수를 만들때는 아무리 귀찮아도 정확하게 표현해야 합니다.
avr() ;     -->   void avr(void)   이렇게 해야만 이 함수의 특징을 정확하게 알 수가 있겠죠...
그렇지 않으면 이 함수가 리턴이 있는지 없는지 구분도 안가죠...

2. 가능한 전역 변수 보다는 포인터를 사용해서 프로그램을 하도록 버릇을 들이세요..
   씨에서는 포인터가 뭐니 뭐니 해도 상당이 중요한 부분을 차지하고 틀리기 쉽기 때문에....

3. 함수를 만들때는 함수내에서 printf 문의 사용을 자제 하세요...(함수의 재 사용성이 떨어짐)
    함수는 한번만 달랑 호출될 수도 있지만 여러 곳에서 지속적으로 호출 될 수 도 있습니다.
    avr()
    {
    int i,sum=0;
    for(i=0;i<5;i++)
    {
        sum+=temp[i];
    }
    printf("avr=%d\n",sum/5);
         return 0;
     }

     이 함수의 경우 호출 될때 마다 화면에 결과를 프린트 하게 되어 있습니다.
    만일 결과 값만 알고 싶고 화면에 출력을 원하지 않을 경우 별도로 함수를
    또 만들어야 하죠...
  
    float avr(int *temp, int size)
   {
       int i , sum ;
       float result ;
       for(i=0 ; i<size ; i++)   sum = sum + temp[i] ;
       result = (float)(sum / size) ;
       return result ;
   }

   main 에서 printf("%f", avr(temp, 5)) ; 이런 식으로 사용하면 더 범용성이 커지겠죠...

4. mom 함수 로직은 아래처럼...
min = max = temp[0]  ;   
for(i=1; i<5 ; i++)
{
     if(min>temp[i])    min=temp[i];
     if(max<temp[i])    max=temp[i];
}

5. 최대, 최소를 제외한 평균값
    float avr(int *temp, int size)
   {
       int i , sum , min, max ;
       float result ;
       for(i=0 ; i<size ; i++)   sum = sum + temp[i] ;

       for(i=1; i<5 ; i++)
       {
           if(min>temp[i])    min=temp[i];
           if(max<temp[i])   max=temp[i];
       }
        result = (float) ((sum-(min+max)) / (size-2)) ;
       return result ;
   }

+ -

관련 글 리스트
4766 소스 수정 부탁드립니다. 김용진 1194 2004/11/17
4771     Re:소스 수정 부탁드립니다. 질문입니다. 한성현 1224 2004/11/18
4772         Re:Re:소스 수정 부탁드립니다. 질문입니다. 김시환 1192 2004/11/18
4767     Re:소스 수정 부탁드립니다. 김시환 1243 2004/11/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.