이제 배우기 시작했고 클래스 질문이 있는데
클래스에 unsigned int 변수 2개랑 char 변수 하나 선언하고 생성자로 초기화해주고 입력받은 정수 2개랑 문자 이용해서 계산하는 함수까지 들어가있는데 메인 함수에서 위에 변수 3개 입력받는데 입력받고 바로 이상한 숫자 출력되는데 뭐가 잘 못 된건가요??
#include <iostream>
using namespace std;
class alu {
public:
unsigned int r1, r2;
char oper;
alu();
int calc();
};
alu::alu() {
r1 = 1;
r2 = 3;
oper = '*';
}
int alu::calc() {
if(oper == '*');
cout << r1 * r2;
if(oper == '+');
cout << r1 + r2;
if(oper == '-');
cout << r1 - r2;
}
int main() {
alu machine;
cout << machine.r1 << machine.oper << machine.r2 << endl;
cin >> machine.r1 >> machine.oper >> machine.r2;
cout << machine.calc() << endl;
cin >> machine.r1 >> machine.oper >> machine.r2;
cout << machine.calc() << endl;
cin >> machine.r1 >> machine.oper >> machine.r2;
cout << machine.calc() << endl;
}
코드 올려
수정했습니다
calc에서 cout을 return으로 바꾸셈
감사합니다! 계산 결과는 나오는데 입력하면 나오는 결과 값이 다 곱해져서 나오는데 이건 왜 이럴까요?
if에 세미콜론 쓰지마세요
아...c랑 헷갈렸네요..감사합니다!
Calc에 리턴하는게 없는데 돌아감??
와..