내 코드에 어떤 문제가 있습니까? 적절한 나이를 표시하지 않습니까? 예 : 내 생년월일로 1990을 입력하면 내 연령으로 25가 표시되지만 1025는 표시됩니다.C++ 나이가 제대로 표시되지 않습니다.
#include <iostream>
int main()
{
long unsigned x, year;
long unsigned z;
year = 2015;
std::cout << "Year of Birth: ";
std::cin.get();
std::cin >> x;
std::cin.get();
z = year - x;
std::cout << "Your age is " << z << std::endl;
std::cin.get();
std::cout <<" /n";
return 0;
}
문자 그대로 'std :: cin.get();'은 항상 필요하지 않으며, 첫 번째 것은 오류의 원인입니다. 이러한 함수 호출을 모두 제거하면 원하는대로 프로그램이 작동합니다. – druckermanly
user2899162의 코멘트를 보완하기 위해서 : 첫 번째'.get()'은 입력 스트림에서'1'을 제거하므로'x'는'990' => 2015 - 990 = 1025입니다. 그렇게하면 오류를 훨씬 빨리 찾을 수 있습니다. – Zeta
개행 문자는'/ n'이 아니라'\ n'입니다. –