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

C/C++ Q/A
[6262] Re:Re:Re:조금 고쳤는데요.
secondmoon [kdwlei] 5075 읽음    2008-11-12 12:33
1. char<->int 변환법, ascii 코드 등에 대해 공부를 좀 하셔야 아래 내용이 이해가 될꺼구요...

2. while, break에 대해 간단히 아셔야 하겠습니다.

3. 자세한 것은 아래에 적어두었습니다.


재질문. 님이 쓰신 글 :
: #include<stdio.h>
: #include<stdlib.h>
: #include<string.h>
: main() {
:             int i,sum;
:             char str[40],su[3];
:             su[0]=0;su[1]=0;su[2]=0;
:             gets(str);
:             if(strlen(str)>=40){                                      /// 이 부분에 검사하고,
:                      printf("40바이트 초과 다시 입력 "\n);
:                      gets(str);                                          /// 여기서 새로 받은 후 재 검사가 없네요.
                                                                               /// 해결하시려면 while 등으로 감싸서 40 이하일 때만
                                                                               /// 다음 루틴으로 가도록 하시면 됩니다.
:             }
:              
:            for(i=0 ; i<40 ; i++) {
:                              if(str[i]!=''){
:                                                if(su[0]==0){
:                                                             su[0]= str[i];
:                                                }
:                                                else{
:                                                             if(su[1]==0){
:                                                                       su[1]= str[i];
:                                                             }
:                                                             else{
:                                                                       if(su[2]==0){
:                                                                                su[2]= str[i];
:                                                                       }
:                                                             }
:                                                }
:                             }
:              }
:             if(su[1]=='+'){
:                          sum = su[0] + su[2]; //// su[0], [2]를 각각 atoi로 감싸주시면 됩니다.
:             }
:             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); /// 처음 %d 세개를 각각 %c로 하시면 될껍니다.
: }
: -----------------------------------------------------------------
: 40바이트 넘어가는 걸 한번밖에 못잡아주네요 ㅠㅠ
: 그리고 그다음 if 로 넘어갈때 새로 입력해준 gets(str) 이 아니고 그전에 입력한(40바이트넘어간) gets(str)로
: if 문을 돌리는거 같은데 맞나요? 그래서 튕기는것 같더라구요 ㅠㅠ
: 또atoi 를 어디에 써야될지를 모르겠어요;;
: 자꾸 아스키코드값으로 나오고..
: 5+3 입력하면
: 53 43 51 = 104
: 이런식으로요 ;
: 그리고 연산은 한자리 숫자로만 하겠습니다.

+ -

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