-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
제가 알고 있는게 맞는지 훈수좀요!!
23.01.02 16:50 작성 23.01.02 17:00 수정 조회수 212
0
ignore()함수는 cin연산자?? 의 구성요소 중 하나이고
cin은 std에 정리 되어 있으며 이 std는
iostream이라는 라이브러리(도서관)에 정의 되어 있다......!라고 하면 되는 건가요
그리고 ignore(x,y)는 x까지 입력을 받거나 y를 만나면 그 이후는 무시하라! 라고 이해하면 되는 거죠?
그리고 지금 드는 의문인데요 using namespace std;를 사용하고 있는데 ignore()이랑 fail()은 왜 앞에 std::cin을 붙여줘야 하죠?
답변을 작성해보세요.
0
강민철
2023.01.03
넵 :)
ignore과 fail의 경우에는..
std::를 붙여도 되고 떼도 됩니다.
아래 코드로 확인해보시겠어요?
#include <iostream>
using namespace std;
int getInt()
{
cout << "Enter an integer number : ";
int x;
cin >> x;
if (cin.fail())
{
cin.clear();
cin.ignore(32767, '\n');
cout << "Invaild number, please try again" << endl;
}
else
{
std::cin.ignore(32767, '\n');
return x;
}
}
char getOperator()
{
cout << "Enter an operator (+,-) : ";
char op;
cin >> op;
return op;
}
void printResult(int x, char op, int y)
{
if (op == '+') cout << x + y << endl;
else if (op == '-') cout << x - y << endl;
else
{
cout << "Invalid operator" << endl;
}
}
int main()
{
int x = getInt();
char op = getOperator();
int y = getInt();
printResult(x, op, y);
return 0;
}
답변 1