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

C/C++ Q/A
[6259] 잘모르겠습니다..고수분들의 답변 부탁드려요
미치겠습니다. [] 4623 읽음    2008-11-12 00:54
C언어 막배우는 중인데요
이제 배열이랑 함수 조금 이해할랑 말랑 합니다.
문제하나 풀고 있는데.. 이게 안되네요 제가 짜본건데 일단 봐주시겠어요?
사칙연산관련인데요
일단 gets로 "2      + 3" 이런식으로 문자열로 받아요
gets 로받았으니 문자열이잖아요? 이걸 atoi 써서 숫자로 바꾼후
그래서 2+3 = 5 이라는 값이 나오게끔 출력하는겁니다
부가 조건은 40바이트 넘어가면 에러가뜨게,
또 연산식이 두개이상 들어가면 에러가뜨게 ex) 2++3,2-+3, 이렇게 입력되면 에러가..뜨게<-요거 못햇네요;ㅠㅠ
보시면서 아시겠지만 이제 C를 시작해서 코딩이 아주 허접하기 짝이 없을겁니다..
하지만 어려운거 써가면서 이해못하게 설명해주시는 것보다.. 제가 코딩한것을 조금 바꿔서
제가 이해 할 수 있게 끔 알려주시면 정말 고맙겠습니다.
-----------------------------------------------------------------------------
#include<stdio.h>
main() {
            int i,sum;
            char str[40],su[3]" " ;
            gets(str);
            if(strlen(str)>40){
                     printf("40바이트 초과 다시 입력 "\n);
                     gets(str);
            }
            str[40]=atoi(str);
           
            for(i=0 ; i<40 ; i++) {
                             if(str[i]!=NULL){
                                               if(su[0]==NULL){
                                                            su[0]= str[i];
                                               }
                                               else if(su[1]==NULL){
                                                            su[1]= str[i];
                                               }
                                               else if(su[2]==NULL){
                                                            su[2]= str[i];
                                               }
                              }
             }
            if(su[1]=='+'){
                         sum = su[0] + su[2];
            }
            else if (su[1]=='-'){
                         sum = su[0] - su[2];
            }
            else if (su[1]=='*'){
                         sum = su[0] * su[2];
            }
            else if (su[1] =='/'){
                         sum = su[0] / su[2];
            }
            printf("%d %d %d = %d\n",su[0],su[1],su[2],sum);
}
-----------------------------------------------------------------------------
이게 에러가 떠주면 고치기라도 하겠습니다만 실행은 되는데 값은 이상하게 나오고..

+ -

관련 글 리스트
6259 잘모르겠습니다..고수분들의 답변 부탁드려요 미치겠습니다. 4623 2008/11/12
6260     Re:잘모르겠습니다..고수분들의 답변 부탁드려요 secondmoon 7495 2008/11/12
6261         Re:Re:조금 고쳤는데요. 재질문. 11925 2008/11/12
6262             Re:Re:Re:조금 고쳤는데요. secondmoon 5177 2008/11/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.