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;

}

배열 활용, 윤년계산

댓글 없음:

댓글 쓰기

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

대학원생의 투고 지도 ④ (완결) — 논문의 수준이란 무엇인가: 사다리와 사분위, 첫 논문 전략

완결편이다. "논문 수준"이라는 말을 해부하고, 에듀테크 석사생의 첫 논문 전략으로 마친다. 학위논문과 학술지 논문은 다른 장르다 먼저 가장 흔한 혼동부터. 학위논문(thesis)은 "내가 연구를 수행할 줄 안다...