-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
while을 for로 바꾸기 질문
20.05.16 16:52 작성 조회수 137
0
안녕하세요?
강의 잘 듣고 있습니다.
강의 중 말씀하셨던 +, -. *, /를 추가해 보았고, switch문으로도 바꾸어 보았습니다.
그런데 getInt() 함수의 while문을 for문으로 바꿔보라고 하셨는데 그건 어떻게 바꿔야할지 감이 안오네요ㅜㅜ
알려주시면 감사하겠습니다.
#include <iostream>
using namespace std;
int getInt()
{
while (true)
{
cout << "Enter a integer number : ";
int x;
cin >> x;
if (std::cin.fail())
{
std::cin.clear();
std::cin.ignore(32767, '\n');
cout << "Invalid number, please try again";
}
else
{
std::cin.ignore(32767, '\n');
return x;
}
}
}
char getOperator()
{
while (true)
{
cout << "Enter an operator (+, -, *, /) : ";
char op;
cin >> op;
std::cin.ignore(32767, '\n');
if (op == '+' || op == '-' || 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;
break;
case '-':
cout << x - y << endl;
break;
case '*':
cout << x * y << endl;
break;
case '/':
cout << x / y << endl;
break;
}
}
int main()
{
int x = getInt();
char op = getOperator();
int y = getInt();
printResult(x, op, y);
return 0;
}
답변을 작성해보세요.
1
답변 1