티스토리 뷰

문제

어떤 형식에 맞추어 시간이 입력될 때, 그대로 출력하는 연습을 해보자.

참고
scanf( ) 함수는 지정한 형식(format)에 따라 입력받는 함수이다.
따라서, 입력받고자 하는 형식으로 표현해주면 된다.

예시
scanf("%d:%d", &h, &m); //콜론(:) 기호를 기준으로 두 수가 각 변수에 저장된다.

 

 

 

C언어로 하면 쉬운데 C++을 배운지 얼마 안되어서 어떻게 형식을 구분해서 입력받아야하는지 당황했다.

시간에 대한 hour 값을 받고 ":" 콜론 표시가 나올 때까지 무시하고 

: 표시가 나오면 그 뒤에 나오는 정수값을 min에 저장한다.

 

새로 알게된 함수 cin.ignore  :  특정 문자가 나올 때까지 기다린다.

#include<iostream>
using namespace std;

int main() {
	int hour, min;
	cin >> hour;
	cin.ignore(256, ':');
	cin >> min;
	cout << hour << ":" << min << endl;
}
댓글