자기가 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
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180580 [잡담] 독거미(F99) 도착! 2 냐하하하하 0 1 시간 전 51
180579 [컴퓨터] 방금 윈11로 업뎃하라고 뜨길래 어라라라 0 1 시간 전 38
180578 [컴퓨터] 암드 신제품 언제 나온다냐 1 ravvit 0 1 시간 전 21
180577 [프로그래밍] 취준생 안드로이드 팀플 주제 머할까요... 2 조강현 0 3 시간 전 53
180576 [컴퓨터] 13900k 시네벤치 R23 돌리면 오류창뜨던거 전력제한 240w 거... 7 ravvit 0 8 시간 전 144
180575 [잡담] 그래픽카드 고주파소리 질문. 4 내일까지 0 8 시간 전 84
180574 [견적] 콤퓨타 하나도 모르는데 견적 좀,, 7 아이마이미마인 0 8 시간 전 88
180573 [컴퓨터] 회사에서 쓸 무소음 or 저소음 기계식 키보드 추천좀.. 11 냥드리퍼 0 9 시간 전 139
180572 [컴퓨터] 컴퓨터 파워 몇w짜리 사는게 좋음? 9 룽니 0 9 시간 전 138
180571 [잡담] 인텔 13,14세대 순정 가이드라인 188W로 잡힘 1 GNStout 2 10 시간 전 164
180570 [컴퓨터] 엔비디아 그래픽카드로 원격 플레이 하려면 컴터 사양 어느정... 1 어중E 0 11 시간 전 106
180569 [잡담] 아직 컴퓨터 1년 더 써야하는데 명조땜에 업글 계획 잡는중 10 손씨네원조비빔밥 0 11 시간 전 96
180568 [견적] 요즘 게이밍 PC 얼마 들어? 7 불타는밀밭 0 13 시간 전 215
180567 [잡담] 키보드 사진 두 개 리밍 2 14 시간 전 152
180566 [컴퓨터] 13년된 컴을 보내주려 합니다. 던파 원활히 돌아가는 견적 8 긍정축재 1 1 일 전 400
180565 [잡담] 스피커 고민 개붕이 이어서.. 18 배프고다배파고 0 1 일 전 243
180564 [잡담] 트랙패드 편하냐?? 5 fhana 0 1 일 전 194
180563 [컴퓨터] 7800x3d로 롤 돌리는 사람 있음? 6 보거 0 1 일 전 313
180562 [컴퓨터] 윈도우 부팅오류 도움!ㅠㅠ 3 qop 0 1 일 전 93
180561 [컴퓨터] 윈10 인터넷 순간 끊김 문제 해결법 좀 5 해물잠봉 0 1 일 전 146