2011년 4월 12일 화요일

cpp] 예제로 바로 알아보는 c와 c++ - 24

#include <iostream.h>
#include <stdlib.h>
#include <string.h>
#define DUMMY 0
void main(void)
{
 int year, month, day;

 int mon[13] = {DUMMY, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
 char *week[] = {"일", "월", "화", "수", "목", "금", "토"};

 int sum, y;
 do {
  cout << "Year :";
  cin.clear(); // 오류 비트 플래그를 0으로...
  cin.ignore(cin.rdbuf()->in_avail()); //iostream.withassign에 있음.
  cin >> year;
 } while( cin.fail() || !(year >= 1 && year <=4000));
 do {
  cout << "Month :";
  cin.clear(); // 오류 비트 플래그를 0으로...
  cin.ignore(cin.rdbuf()->in_avail()); //iostream.withassign에 있음.
  cin >> month;
 } while( cin.fail() || !(month >= 1 && month <=12));
 //day는 입력받은 달과 윤년인지도 알아야함.
 do {
  cout << "DAY :";
  cin.clear(); // 오류 비트 플래그를 0으로...
  cin.ignore(cin.rdbuf()->in_avail()); //iostream.withassign에 있음.
  cin >> day;
  if ( (year %4 ==0) && (year%100 != 0) || (year%400 ==0) ) mon[2]=29;
 } while( cin.fail() || !(day >= 1 && day <= mon[month]));
 y=year-1;
 sum = y*365+y/4-y/100+y/400;
 for(int n=1; n<month; n++) {
  sum += mon[n];
 }
 sum+=day;

 cout << year << "년" << month << "월" << day << "일 " << week[sum%7] <<endl;

}

배열 활용, 윤년계산

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...