자기가 c++ 고수다 들어오삼 살려줘 제발

int main()
{
string s;
cout << "ex)2+2-4*3/2" << endl;
getline(cin, s, '\n'); 
int sum = 0;
int a = 0;
int con;

while (1)
{  
if (s[a] != '+' || s[a] != '-' || s[a] != '*' || s[a] != '/')
{
con = stoi(s);  //2 입력했잖어 
}
else if (s[a] == '+')
{
con = con + s[a + 1];                 //2 + s[2] ->'3'   그럼 2+3은 5잖아 왜안대 ㅅㅂ 
cout << con;
break;
}
a++;                         
}
    return 0;
}


2+3 하고싶음 그럼 답이 5잖아 

근데 자꾸 오류떠서 안돼 뭐가 잘못된껄까 

15개의 댓글

2018.04.17
왜아래껀 stoi안하냐
0
2018.04.17
@HIGH SIERRA
글고일단 스트링은안다뤄바서모르겠지만
'3'과 3은 다르니깐
'3'-'0' 이용해서 숫자3으로만드러보셈
0
@HIGH SIERRA
저러면 s[1] 일 때 +나오면

어떻게해야할지 막막해서
0
2018.04.17
@일동안치킨먹음
먼말인지모르게따 자로간다
0
2018.04.17
더하기가 아니거나 빼기가 아니거나 이거 or 가 아니라 and 여야하는거 아님?
0
2018.04.17
@학구
if (s[a] != '+' || s[a] != '-' || s[a] != '*' || s[a] != '/')

이조건에서 2+3을 입력했을때
2 는 조건에 맞아서 con = 2
두번째 문자 + 가 들어왔어도
s[a] != '-' || s[a] != '*' || s[a] != '/' 해당 조건을 충족하기때문에
stoi('+') 가 실행될거 같은데 ?
0
2018.04.17
@학구
결론적으로 고치면

if (s[a] != '+' && s[a] != '-' && s[a] != '*' && s[a] != '/')
{
con = stoi(s); //2 입력했잖어
}
else if (s[a] == '+')
{
con = con + (int)s[a + 1]; //2 + s[2] ->'3' 그럼 2+3은 5잖아 왜안대 ㅅㅂ
cout << con;
break;
}

이렇게 돌려보면?
0
@학구
아 and는 고마워 근데

con = con + (int)s[a+1];

이거 아스키코드값으로 나오는거 같아 아무튼 and는 고맙
0
2018.04.17
@일동안치킨먹음
char(s[a+1]) 아니면 atoi(s[a+1]) 시도해보셈
된다면 구글신은 위대한것
0
2018.04.17
그냥 한줄한줄 디버깅하는게 더빠르겟다
0
2018.04.17
아니 s값이 "2+2"를 넣은거임 ㅋㅋ? 당연히 atoi에서 에러나짘ㅋㅋㅋ
0
2018.04.17
con = con + s[a + 1]; // con = 2 + 50 이니까 52로 출력될라나?

// 위에서 첫번째 숫자는 문자에서 숫자로 변환해놓고 두번째 숫자는 왜 변환안하고 그냥 더하려함?
0
@아무무무
stoi(s[a+1]) 이게 안되더라고... ;; 아직 초보라..
0
@일동안치킨먹음
그럴거면 굳이 스트링 쓰지말고 간단한 char 문자열 쓰고
atoi쓰자
0
2018.04.17
@일동안치킨먹음
stoi()안에 들어가는 스트링이 인트가 아닌게 껴있어서 그런거 같음

string str = "8282";
int temp = stoi(str);

이런 형태로 써야 할 것 같은데 연산자를 변환할 수 없어서 펑하는것 같음
임시 변수 하나 만들어서 그 숫자만 받도록 고쳐봅시다

if (s[a] != '+' || s[a] != '-' || s[a] != '*' || s[a] != '/')
{
string temp;
temp = s[a];
con = stoi(temp); //2 입력했잖어
}
0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
181095 [컴퓨터] 여러분들의 도움이 절실히 필요합니다. 부탁드립니다. 5 PigBenis 0 48 분 전 48
181094 [컴퓨터] 그래픽카드 어떻게 사야 좋을까... 1 위잉치킹 0 57 분 전 39
181093 [잡담] 모니터 판매처중에 신한카드 혜택 주는 곳이 없네 6 인간지표 0 1 시간 전 41
181092 [모바일] 넥밴드 노이즈캔슬링 이어폰 추천좀 2 드웨인토마스 0 6 시간 전 71
181091 [컴퓨터] 파이어폭스 유튜브 4k 끊김현상 해결했다 2 동식 0 7 시간 전 124
181090 [모바일] 최근에 폰 망가져서 통신사 옮겼는데 서류 질문점 1 수간호사 0 8 시간 전 64
181089 [모바일] 갤s24 갑자기 초고속 충전이 안되는데 5 Avekgiks 0 8 시간 전 165
181088 [컴퓨터] 모니터 가로줄 왜생기는건가요 1 뭐하긴 0 10 시간 전 120
181087 [잡담] 헤드셋이 죽었음 추천받습니다 3 대데맞춤법빌런 0 11 시간 전 102
181086 [모바일] 버즈 라이브 유닛 잃어버림.... 2 dlatnaks 1 12 시간 전 80
181085 [컴퓨터] 키보드 독거미로 바꿀까 하는데 5 권주가 0 13 시간 전 210
181084 [프로그래밍] 컴포즈 Box 컴포넌트가 안 나와... 1 집에가게해줘 0 13 시간 전 80
181083 [잡담] 질렀다. 3 째규째규 0 15 시간 전 170
181082 [잡담] 삼성 보조배터리 as받으러 감 3 쿱쿱 0 17 시간 전 231
181081 [잡담] 에어팟맥스 2 니말이다옳다 0 17 시간 전 93
181080 [잡담] 아니 9000번대 zen5 tdp 왜더내려감? 10 괴기 2 18 시간 전 242
181079 [잡담] 핏3는 고릴라 글래슨지 머시기 아닌가벼 1 레벨더높아너보다 0 18 시간 전 88
181078 [잡담] 외장하드 작살났네....ㅋㅋㅋㅋㅋ 5 닉네임변경41 0 19 시간 전 212
181077 [컴퓨터] 황회장 5천대 글카 말나온거 없지? 3 사스갓 0 20 시간 전 154
181076 [견적] 4090 완본체 이거 괜차늠? 11 돌핀 0 20 시간 전 220