숫자를 입력하지 않으면 (즉, 's') 이유는 알 수 없습니다. 이유는 무엇입니까? cin >> W;
이 생략되었습니다.3 단계의 std :: cin이 생략 된 이유는 무엇입니까?
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
short W = -1;
cout << "step 1) W = " << W << endl;
cout << "give a number: ";
cin >> W;
if (cin.fail())
{
cout << "ERROR, bad number" << endl;
W = -1;
cout << endl << "step 2) W == " << W << endl;
cin.clear();
}
cout << endl << "step 3) W == " << W << endl;
cout << "give a number: ";
cin >> W;
cout << endl << "step 4) W == " << W << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
이 코드는'cin >>'과'cout <<'을 사용해야하는 방법에 더 가깝다고 생각합니다. 말할 것도없이, 그것은 끔찍한 코드입니다; 그래서 그것을 당신의 영감으로 사용하지 마십시오. – notnoop
notnoop : 어쩌면 그것은 무섭다.하지만 왜 그런 식으로 작동하는지, 왜 그렇게 끔찍한 지 보지 않는지 이해하고 싶다. – qlf00n
Steffen의 대답을 받아들이는 것을 잊지 마라. 문제가 해결 되었다면. – Bill