日历

来源:互联网 发布:bcm4313 linux 编辑:程序博客网 时间:2024/04/29 18:41


/*============================================================================ Name        : Exercise.cpp Author      : Haier Version     : 1.01 Copyright   : Copyright (c) 2014 Description : Calender in C++, Ansi-style, Compile by Eclipse ============================================================================*/#include <iostream>#include <iomanip>using namespace std;const static char *Month[12]={"January","February","March","April","May","June","July","August","September","October","November","December"};const static char *Week[7] ={"Sun.","Mon.","Tue.","Wed.","Thu.","Fri.","Sat."};void PrintHead(int Number){    int i;    cout<<"                      "<<Month[Number]<<endl;    for(i=0; i<7; i++)    {        cout<<setw(8)<<left<<Week[i];    }    cout<<endl<<"_________________________________________________"<<endl;}int DaysOfMonth(int Number,int Year){if(Number==2){if((Year%4==0 && Year%100!=0) || Year%400==0){return 29;}return 28;}else if(Number==4 || Number==6 || Number==9 || Number==11){return 30;}else{return 31;}}void skip( unsigned int i ){    while ( i > 0 )    {        cout << " ";        i--;    }}void PrintDays(int Number,int &n){int i;    skip(8*n);for(i=1; i<=Number; i++){    cout<<left<<i<<"\t";if(n==6){cout<<endl;n=0;}else        {            n++;        }}cout<<endl<<"_________________________________________________"<<endl;}unsigned int firstDayOfJanuary( unsigned int year ){    return ( year + ( 97 * year - 97 ) / 400 ) % 7;}int main(){    int i;    int Year;    int firstDayInCurrentMonth;    cout<<"Please input a year: ";    cin>>Year;    firstDayInCurrentMonth=firstDayOfJanuary(Year);    cout<<"                         "<<Year;    cout<<endl<<"_________________________________________________"<<endl;    for(i=1; i<=12; i++)    {        PrintHead(i);        PrintDays(DaysOfMonth(i,Year),firstDayInCurrentMonth);    }}


0 0
原创粉丝点击