Programming Language/C/C++

[C/C++] 숫자를 포함한 문자열 입력 시 오류 해결

깐요 2017. 4. 20. 20:59

문자열와 수치의 혼합 입력

참고: http://choryeonworkshop.tistory.com/111

아파트 입주 연도와 주소를 입력하여 정보를 출력하는 프로그램이다

#include <iostream>

using namespace std;

int main()
{
	cout << "지금 사시는 아파트에 언제 입주하셨습니까?\n";
	int year;
	cin >> year;

	cout << "주소를 말씀해 주시겠습니까?\n";
	char address[80];
	cin.getline(address, 80);

	cout << "아파트 입주 연도: " << year << endl;
	cout << "주소: " << address << endl;
	cout << "등록이 완료되었습니다!\n";

	return 0;
}

이번에도 두 번째 문자열을 입력하는데에 오류가 생겼다

cin이 입주 연도를 읽어들이고, Enter 키가 만들어 내는 개행 문자를 입력 큐에 남겨 두기 때문에 발생하는 문제다

(cin >> year).get()

위와 같이 get()을 사용하여 개행 문자를 읽어들이면 해결된다

320x100