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

C++빌더 Q&A
C++Builder Programming Q&A
[64421] 계산기 소스 만드는 과정 중 다시 한번 문의 드립니다.
서덕만 [] 966 읽음    2011-05-23 20:10
아래 소스는 일의자리 숫자까지밖에 계산이 되지 않습니다.

입력받은 어떤 숫자로나 계산이 가능하게끔 수정하고 싶은데 어떻게 수정을 해야 좋을 지 팁 부탁드립니다.

(Ex. 입력을 문자 따로 숫자따로 받거나 혹은 입력받은 문자열에서 숫자를 구분하는데 십의자리나 백의자리도 구분 할수 있는 방법(지금은 100을 입력하면 1,0,0 이렇게 구분하는 거 같습니다..ㅠㅠ) 부탁드립니다!

InitializeStack();
gets(buf);
   
len = strlen(buf);
i = 0;
while(i < len) {
    c = buf[i++];  
   
    if(c == ' ')
        continue;
    else if(c <= '9' && c >= '0')
        OperandPush(c-'0');          
    else if( c == '+' || c == '-' || c == '*' || c == '/' ) {
        if(IsEmptyOperatorStack())
            OperatorPush(c);
        else {
            opr = OperatorPop();
            if(GreaterOpr(opr , c) ){
                opn2 = OperandPop();
                opn1 = OperandPop();
               
                opn1 = Calculate(opn1, opn2 , opr);
                OperandPush(opn1);
                OperatorPush(c);
                }
            else {
                OperatorPush(opr);
                OperatorPush(c);

+ -

관련 글 리스트
64421 계산기 소스 만드는 과정 중 다시 한번 문의 드립니다. 서덕만 966 2011/05/23
64427     Re:계산기 소스 만드는 과정 중 다시 한번 문의 드립니다. 송신영 1270 2011/05/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.