PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2010/03/14 19:11:59
Name ROMANMAX
Subject c언어 질문입니다
c언어 공부시작햇는데..넘어렵내요..

머가문제인지좀 바주세요..

2수를 받아서 사칙연산하는건대
전 2개의 수를 입력받아 계산을 해야하는데 2개의 수를 받고 사칙연산을 누르면 종료가되내요. 문제점좀..

#include <stdio.h>

int add(int a, int b);
int add2(int a, int b);
int add3(int a, int b);
int add4(int a, int b);

int main(void)

{
        int a,b;
        char c;

        printf("계산할 두수를 입력하시오 n");
        scanf("%d%d",&a,&b);

        printf("계산할 사칙연산을 선택해주십시오 = - * /n");
        scanf("%c",&c);

        switch('c'){
                case'+':
                        add(a,b);
                                break;
                case'-':
                        add2(a,b);
                                break;
                case'*':
                        add3(a,b);
                                break;
                case'/':
                        add4(a,b);
                                break;

        }
}

int add(int a, int b)
{
        printf("두수의 덧셈 %d + %d = %dn", a, b, a+b);

}

int add2(int a, int b)
{
        printf("두수의 뺄셈은 %d - %d = %dn", a, b, a-b);
}

int add3(int a, int b)
{
        printf("두수의 곱셈은 %d * %d = %dn", a, b, a*b);
}

int add4(int a, int b)
{
        if(b==0)
        {
                printf("0으로 나눌수는 없잔아 n");
        }
                
        else
        {
                printf("두수의 나눗셈은 %d / %d = %dn", a, b, a/b);
        }
}


통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
Persious
10/03/14 19:15
수정 아이콘
switch 안에 변수를 입력해야하는데 일반 문자를 입력하셔서 생긴 문제같네요.
'c' -> c 로 바꾸시면 될 것 같습니다.
10/03/14 19:39
수정 아이콘
컴파일은 되나요?

리턴타입은 적으셨는데 리턴값이 없네요.
빗방울보
10/03/14 19:39
수정 아이콘
int add(int a, int b) -> void add(int a,int b)
int로 함수를 선언하셨으면 return 해주는 부분이 있어야죠.
add 함수를 모두 void로 선언하셔야 합니다 ^^
10/03/14 19:41
수정 아이콘
그리고 직접 실행을 해봤는데

아무래도 입력 버퍼 문제가 있네요

scanf에서 두 숫자를 받고 난 다음에 엔터를 입력하면

엔터값이 입력 버퍼안에 들어가기 때문에 다음에 부호를 받지 않은채 바로 계산에 들어가고 있습니다.
10/03/14 19:44
수정 아이콘
비쥬얼 스튜디오 환경에서 사용하신다면 첫번째 scanf 밑에 fflush(stdin);

이 문장을 추가해 보세요. 그럼 입력된 엔터를 버려줍니다.
10/03/14 20:04
수정 아이콘
%d%d 를 %d %d 로 바꿔보세요.
ROMANMAX
10/03/14 20:11
수정 아이콘
성실한 답변들 감사합니다.............
고지를향하여
10/03/14 21:56
수정 아이콘
void 랑 fflush 문제 맞고요..

컴공과이신지는 모르겠지만, 코딩할때 함수명/변수명 add2,add3 이렇게 짓는거 진짜 나쁜 버릇이십니다.

적어도 빼는 함수는 sub, 곱하는건 mut 나누는건 div 등 최소한 함수명 보고 이 함수가 무슨 함수를 하는지
대충이라도 알 수 있게 짓는것이 좋습니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
76694 영어(?)해석+java 질문입니다...입문자입니다. [11] ㆀThe.Scvㆀ1634 10/03/14 1634
76693 향방작계훈련 연기 어떻게 하나요? [7] 촉호파이5347 10/03/14 5347
76692 인천 월미도나 을왕리 가보신 분?? [4] 솜사탕흰둥이2954 10/03/14 2954
76690 일본어한자에 관하여 궁금한게 있습니다. [7] 너만을사랑해2171 10/03/14 2171
76688 [ICCUP] memory modification 이 뭔가요? [2] Mr.쿠우의 절규1660 10/03/14 1660
76687 어느 은행 사용하시나요? [23] 허클베리핀2120 10/03/14 2120
76686 라디오 다시 듣기를 다운 받는 방법 없나요? [2] 곧고환하게2472 10/03/14 2472
76685 제가 지금 해야 될것이 무엇일까요(취업관련) [5] 호로리1681 10/03/14 1681
76683 일본여행 조언부탁드립니다 [6] akira1536 10/03/14 1536
76682 허리가 아픕니다. [3] 건방진사탕2064 10/03/14 2064
76681 보험안된 차량을 몰다가 사고를 냈을경우... [4] 아웅1542 10/03/14 1542
76680 예전에 영어 해석이 안된다고 질문 올린적이 있습니다... [12] 가치파괴자2224 10/03/14 2224
76678 영어 원서 번역본 찾는방법 [1] Cherry_11643 10/03/14 11643
76676 중학생과외 교재 질문입니다~ [6] 김라울2134 10/03/14 2134
76675 연애하고 싶은 감정을 없앨 수 있는 방법 있을까요? [11] Schizo2670 10/03/14 2670
76674 c언어 질문입니다 [9] ROMANMAX1632 10/03/14 1632
76673 차량용 공기 청정기 효과 있나요? [2] 고등어3마리2691 10/03/14 2691
76672 집에서 다운펌을 하려고 하는데요 [1] 2ndEpi.3668 10/03/14 3668
76671 세계 2차대전에 관한 영상을 보고 싶은데 뭐 없을까요? [3] 따듯한담요1559 10/03/14 1559
76669 대전시 유성구에 미용실 추천해주세요~ [10] 쑤마이켈3062 10/03/14 3062
76668 문과 사탐 점수따기 좋은 과목이 뭐 있을까요. [8] 파렌하잇2052 10/03/14 2052
76667 직장인들 일요일엔 나오는거 싫어하나요? [16] 라울2154 10/03/14 2154
76666 스타2 용 업그래이드와 기존 PC 처분..(스압) [4] 고양이털때문1724 10/03/14 1724
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로