자기가 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
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180474 [컴퓨터] 님들 랜선 연결 어케해요? 11 플랑크톤상점버거 0 2 시간 전 116
180473 [컴퓨터] 올그떠 보인다길래 삭제함 Benetton 0 14 시간 전 153
180472 [잡담] wh xm4 끼고 자다가 오른쪽 박살남ㅠㅠ 8 곰문곰문곰문곰문... 0 15 시간 전 269
180471 [컴퓨터] 컴퓨터 완본체 샀는데 깔아야할 드라이버나 설정 있나요? 10 하이웨이 0 19 시간 전 247
180470 [잡담] 좆데온 8천번대보다 7900xtx가 9 전기모기채는신이야 0 19 시간 전 313
180469 [컴퓨터] 형님들 견적짠거 호환 문제없는지 확인 부탁드립니다 2 우루루옳지 0 20 시간 전 107
180468 [정보] 크러쉬80 - 레이니75를 만든 Wob의 텐키리스 키보드 2 Veigrake 0 20 시간 전 248
180467 [잡담] 여기 로봇 청소기도 물어봐도 됨?? 14 년째재수강 0 21 시간 전 215
180466 [잡담] 윈도우12 전부 레거시쳐낸다는말이 하드웨어를 말한거구나 4 이거보인다면기분탓임 0 21 시간 전 336
180465 [컴퓨터] 갤럭시80 넘나 이쁜것이예요 2 군마 1 1 일 전 429
180464 [모바일] 차량용 맥세이프 충전기 탁상용으로 쓰니 좋다 4 년째군대 0 1 일 전 219
180463 [잡담] 채터링 어캐잡습니까... 5 로우팡맨 0 1 일 전 204
180462 [잡담] 4월에 마우스 큰 게 두 개 나오네 16 GNStout 0 1 일 전 304
180461 [컴퓨터] 무선 키보드 마우스 세트는 별로인가? 3 하이웨이 0 1 일 전 145
180460 [컴퓨터] 10만원대 포터블 모니터는 사는거 아니더라 17 코싸멘뚜 0 1 일 전 274
180459 [정보] 레이니75 저격하는 브릿지75 19 Veigrake 0 1 일 전 367
180458 [잡담] 드디어 왔다 레이니 5 ltearl 0 1 일 전 323
180457 [프로그래밍] 그 혹시 게임쪽 종사자 있음? 17 god79ii 0 1 일 전 482
180456 [컴퓨터] sata 케이블때문에 ssd가 망가질 수도 있나요? 10 드웨인토마스 2 1 일 전 356
180455 [모바일] 횽들 어거좀 봐줘 6 부자가될개붕이놈들 0 1 일 전 212