예제 2) 시,분,초를 입력받아 초로 환산하여라.


배운 내용대로 구성하자면 ' ' - 공백으로 구분하여 각각 시분초 변수에 입력받고 연산을 결과값에 누적시켜주는 것으로 완성.


#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
	//TODO : 시 분 초를 입력받아 초로 변환
	int hour, minute, second, result;

	cout << "시, 분, 초 를 ' '으로 구분하여 입력하세요 : ";
	cin >> hour >> minute >> second;

	result = hour * 3600;
	result += minute * 60;
	result += second;

	cout <<"시간을 초로 환산한 값은 " << result <<" 입니다.";
}


조금 더 나아가서 C-String을 사용하면 공백문자로 아리쏭하게 입력받는 것이 아닌

 x : x : x 로 입력 받는 것이 가능할 것 같다.


#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
	char inputTime[50];
	int result = 0;
	char temp[10];

	cout << "시:분:초 를 입력하세요 : ";

	for (int i = 0; i < 2; i++)
	{
		cin.getline(inputTime, 50, ':');
		strcpy_s(temp, inputTime);

		if (i == 0)
		{
			result += atoi(temp) * 3600;
		}
		else if (i == 1)
		{
			result += atoi(temp) * 60;
		}
	}
	result += atoi(inputTime);

	cout << "시간을 초로 환산한 값은 " << result << " 입니다.";
}


이렇게 하면 조금 더 자연스럽게 시:분:초 를 입력할 수 있다. 큰 차이는 없지만 스페이스바로 띄워서 구분하는 것보다 ':'를 기준으로 구분하는 것이..조금의 차이점?



블로그 이미지

irostub

iro의 잡화상점

,