-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
연습문제질문입니다
19.04.27 13:11 작성 조회수 125
3
안녕하세요. 강의중에
switch(op){
case '+':
cout << x+y << endl;
case '-':
cout << x-y << endl;
위와 같은 방식으로 일일이 하지 않고 곱하기랑 나누기 케이스도 해보라고 하셨는데, 검색을 해봐도 쉽지않네요. 혹시 제가 아이디어를 얻을 수 있을 곳이 있을까요?
답변을 작성해보세요.
0
홍정모
지식공유자2019.04.29
저도 오랫만이라서 강의를 다시 봤는데, 궁금해하시는 내용은 객체지향 프로그래밍과 관련된 내용입니다. 뒷부분을 공부하실 때 효율을 높이기 위해 호기심을 불러일으키기 언급한 것인데 정확히 받아들이신 것 같습니다. 뒷부분 공부하신 후에 잊지 않고 다시 풀어보셨으면 좋겠네요.
0
Jason Hong
질문자2019.04.29
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
홍정모
지식공유자2019.04.28
안녕하세요? 질문하실 때 막연히 '강의중'이라고 하시면 어디인지 제가 찾을 수 없습니다. 정확히 몇 분 몇 초인지 적어주세요. learncpp.com을 추천합니다.
답변 3