작성
·
231
3
안녕하세요. 강의중에
switch(op){
case '+':
cout << x+y << endl;
case '-':
cout << x-y << endl;
위와 같은 방식으로 일일이 하지 않고 곱하기랑 나누기 케이스도 해보라고 하셨는데, 검색을 해봐도 쉽지않네요. 혹시 제가 아이디어를 얻을 수 있을 곳이 있을까요?
답변 3
0
저도 오랫만이라서 강의를 다시 봤는데, 궁금해하시는 내용은 객체지향 프로그래밍과 관련된 내용입니다. 뒷부분을 공부하실 때 효율을 높이기 위해 호기심을 불러일으키기 언급한 것인데 정확히 받아들이신 것 같습니다. 뒷부분 공부하신 후에 잊지 않고 다시 풀어보셨으면 좋겠네요.
0
6:48 부터 7:20 정도 입니다.
설명하실 때,
getOperator 만 수정하고 printResult는 수정을 안해도 될 수 있다고 하셨는데, operator를 입력값으로 받았을때, switch 같은 것을 이용하지 않고 입력값 자체를 연산을 하는데 사용할 수 있는 방법을 잘 모르겠네요. 예를 들면 '+' 를 + 로 사용하는 것이요. 감사합니다!
char getOperator()
{
while(true) {
cout << "Enter an operator (+,-) : "; //
char op;
cin >> op;
std::cin.ignore(32767, '\n'); //empty buffer
if (op =='+' || op == '-')
return op;
else
cout << "Invalid operator, please try again" << endl;
}
}
void printResult(int x, char op, int y)
{
switch(op){
case '+':
cout << x+y << endl;
case '-':
cout << x-y << endl;
default:
cout << "Invalid operator" << endl;
}
}
0