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개의 댓글
무분별한 사용은 차단될 수 있습니다.
HIGH SIERRA
HIGH SIERRA
'3'과 3은 다르니깐
'3'-'0' 이용해서 숫자3으로만드러보셈
일동안치킨먹음
어떻게해야할지 막막해서
HIGH SIERRA
학구
학구
이조건에서 2+3을 입력했을때
2 는 조건에 맞아서 con = 2
두번째 문자 + 가 들어왔어도
s[a] != '-' || s[a] != '*' || s[a] != '/' 해당 조건을 충족하기때문에
stoi('+') 가 실행될거 같은데 ?
학구
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;
}
이렇게 돌려보면?
일동안치킨먹음
con = con + (int)s[a+1];
이거 아스키코드값으로 나오는거 같아 아무튼 and는 고맙
학구
된다면 구글신은 위대한것
구름쿠모
구름쿠모
아무무무
// 위에서 첫번째 숫자는 문자에서 숫자로 변환해놓고 두번째 숫자는 왜 변환안하고 그냥 더하려함?
일동안치킨먹음
너때매 아이디 만듦
atoi쓰자
아무무무
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 입력했잖어
}