22019, 1/1101 회원가입  로그인  
   손건
   c언어 오류좀 잡아주세요~

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=23686 [복사]


c언어 했다  안했다하니 옛날에 한것도 까먹네요 ;;
제대로 하든지 해야지 어려우면 그만하고가 반복되니 수박겉핥기 식이네요...

#include <stdio.h>

int add(int n1,int n2)
{
    int result = n1 + n2;
    return result;
}

int min(int n1,int n2)
{
    if (n1 >= n2)
    {
           int result = n1 - n2;
           return result;
    }
    else
    
         printf ("잔액이 부족합니다 \n");
    
}
int main(void)
{
    int a;
    int result;
    a = 1000;
    printf("jen6가 은행에 2000원을 입금합니다 \n");
    result = add(a + 2000);
    printf("입금후 금액은 %d원 입니다.\n, result");
    printf("jen6가 돈을 1000원을 빼갑니다 \n");
    result = min(a-1000);
    printf("출금후 잔액은 %d원 입니다.\n, result);
    print ("jen6가 3000원을 출금합니다.\n");
    result = min(a-3000);
    
    system("PAUSE");
    return 0;
}

직접 프로그래밍하니 오류가 많네요 함수 로 직접짜볼려고 한건데

  Hit : 11689     Date : 2012/05/06 07:20



    
U_SoRang 변수 선언 정정 필요. 2012/05/06  
cd80 ㅁㄴㅇㄻㄴㅇㄹ 다썼다가 새로고침눌렀네요
min()함수에서 result변수를 맨위에서 선언하지 않고 계시구요
main()함수에서 min함수와 add()함수를 사용하실때
두개 함수가 인자를 두개 받아야하는데 하나밖에 안주고 계시구요

printf("입금후 금액은 %d원 입니다.\n, result"); -> printf("입금후 금액은 %d원 입니다.\n", result);
printf("출금후 잔액은 %d원 입니다.\n, result); -> printf("출금후 잔액은 %d원 입니다.\n", result);
2012/05/06  
cd80 어떤 컴파일러를 쓰시는지는 모르겠지만 Visual Studio 2010 Express에선
저런오류들은 오류명만 봐도 이해할수 있을정도로 나옵니다
오류메시지를 보고 오류를 없애면서 디버깅능력을 기르는게 중요합니다
2012/05/06  
U_SoRang warning은 1개 있으나, 참고하시길...
==================================================
#include <stdio.h>

int add(int n1,int n2)
{
return n1 + n2;
}

int min(int n1,int n2)
{
if(!(n1 >= n2)) printf("잔액이 부족합니다 \n");
else return (n1-n2);
}
int main(void)
{
int a=1000;

printf("jen6가 은행에 2000원을 입금합니다 \n");
printf("입금후 금액은 %d원 입니다.\n", add(a, 2000));
printf("jen6가 돈을 1000원을 빼갑니다 \n");
printf("출금후 잔액은 %d원 입니다.\n", min(add(a, 2000), 1000));

return 0;
}
2012/05/06  
손건 cd80 // 감사합니다 ^^ 넷북에서 프로그래밍하느라 dev를 쓰네요
u_sorang // a에 계속 더하는 방법은 없나요?
예를 들어 변수 a 에 100을 더하고 그변수 a에 다시 빼고 이런식으로 말입니다..
2012/05/06  
cd80 포인터를 사용하시면 좀더 고급스럽게 구현 가능합니다만
int a=1000;
printf()
a = add(a, 1000);
printf()
a = min(a, 2000);
이렇게 하셔도 전혀 문제 없습니다
2012/05/06  
smopuim1004
#include <stdio.h>

int add(int n1,int n2)
{
int result = n1 + n2;
return result;
}

int min(int n1,int n2)
{
if (n1 >= n2)
{
int result = n1 - n2;
return result;
}
else

printf ("잔액이 부족합니다 \n");

}
int main(void)
{
int a=1000;
int result=0;

printf("jen6가 은행에 2000원을 입금합니다 \n");
result = add(a,2000);
printf("입금후 금액은 %d원 입니다.\n", result);
printf("jen6가 돈을 1000원을 빼갑니다 \n");
result = min(result,1000);
printf("출금후 잔액은 %d원 입니다.\n", result);
printf ("jen6가 3000원을 출금합니다.\n");
result = min(result,3000);

return 0;
}
기본원형을 그대로 해서 문제돼는곳만 수정했어요
2012/05/07  
sdyeum 역시 함수 사용방법을 다시 한번 보심이... 2012/05/07