소프트웨어/C++

[2004년 중간 10번] 생년월일 이름 출력 - 매개변수 / 나머지

카켈 2007. 2. 28. 03:55




목적
  - 매개변수 입력을 익힌다. 원하는 자릿수의 숫자를 출력을 한다.

문제

코드

#include <iostream>
#include <cstdlib>

using namespace std;

int main(int argc, char* argv[])

{
 float iYear, iMonth, iDay;
 iYear = iMonth = iDay = 0;


 if(argc < 3)
 {
  cerr << "ERROR : 인수 부족" << endl;
  return -1;

 }

 if(argc > 3)
 {
  cerr << "ERROR : 인수 초과" << endl;
  return -1;

 }

 iYear = int(atof(argv[1]) / 10000) > 50 ? 1900 + int(atof(argv[1]) / 10000) : 2000 + int(atof(argv[1]) / 10000);
 iMonth = (int)atof(argv[1]) % 10000 / 100;
 iDay = (int)atof(argv[1]) % 100;

 cout << argv[2] << "님의 생일은 " << iYear << "년 " << iMonth << "월 " << iDay << "일 입니다." << endl;

 return 0;


}



해설
  - 명령줄 매개변수 입력은 예전 문제들 많으니깐 참조 하시기 바랍니다.

참고
  - 유사 문제
  - http://www.winapi.co.kr/clec/cpp1/10-4-2.htm : main 함수의 인수