안녕하십니까 행님!
야심한밤에 야식들은 드셨습니까?
내가 사칙연산만 되는 작은계산기를 하나 만들었거든요..
그런데 곱하기가 안 돼요..
아무리 봐도 내가 잘못한건 없는데...
주석은 상관쓰지마..그냥 붙여놓은거니깐..
#include <iostream>
using namespace std;
int main(int argc, char **argv)//argv의 정체는 이중포인터였다!
{
int a=0, b=0, c=0;
char op;
if(argc != 4)//잘못 입력했을때
{
cout<<"계산식을 정확하게 입력해주세요"<<endl;
exit(0);
}
a = atoi(argv[1]);//atoi()함수는 문자열을 숫자로 변환해준다.
b = atoi(argv[3]);
op = argv[2][0];
switch(op)
{
case '+':
c = a+b;
break;
case '-':
c = a-b;
break;
case '*':
c = a*b;
break;
case '/':
c = a/b;
break;
default:
cout<<"사칙연산만 할 수 있습니다"<<endl;
exit(0);
}
cout<<a<<op<<b<<"="<<c<<endl<<endl;
return 0;
}
이렇게 했는데, 더하기 빼기 나누기는 다 잘 되는데..
곱하기만 안 돼...
아무래도 if(argc != 4) 이놈이 곱하기가 안되게 하는것 같은데 calc 3 * 3 이면
argv[0] = c:\calc,
argv[1] = 3,
argv[2] = *,
argv[3] = 3
이렇게해서 argc =4 4개가 분명히 확실하게 명백하게 맞는데 왜 자꾸 if(argc != 4)이놈한테 걸리는거죠?
- ㅅ-) 실행할 때 3 * 4 이러지 말고 3 \"*\" 4 이렇게 해줘야됨. *은 보통 쉘에서 \'현재 디렉토리의 모든 파일\'을 의미하기 때문에.
오 된다!!!! 도사님 존경스럽습니다.
오 [핡]
모르겠당 ...