Sunday, April 5, 2009

[C++] Universal Calendar

1.簡介
萬年曆這是最輕鬆平常的小工具,雖然看似不難,但對初學者有一定的難度,他可以訓練你邏輯,作者原本想以Java來完成的,但不諳Java,所以暫時以C++來呈現,過段時間在補上Java的版本。

2.Code
#include<iostream>
#include<stdlib.h>
using namespace std;

int w;
void week(int y)
{
y--;
w=y+y/4-y/100+y/400+1;
w%=7;
}

int main(void)
{
int i,j;
int year;
int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

cout<<"Input year:"<<endl;
cin>>year;

if((year%4==0 && year%100!=0) || (year%400==0))
{
day[2]=29;
}

week(year);//計算第一天為星期幾

for(int k=1;k<=12;k++)
{
cout<<"Sun\tMon\tTue\tWed\tThu\tFri\tSat\t"<<endl;
for(i=1;i<=w;i++)
{
cout<<"\t";
}
for(j=1;j<=day[k];j++)
{
cout<<j<<"\t";
w++;
if(w==7)
{
w=0;
cout<<"\n";
}
}
cout<<"\n"<<endl;
}

system("pause");
return 0;
}

2 意見:

J.C.H said...

我會在修改的!
有什麼需要改進的再跟我說吧!

J.C.H said...

Incorrect?

Post a Comment