万年历C++源代码

时间:2025-02-23

#include "iostream"

using namespace std;

//#include "stdafx.h"//1900.1.1是星期1

int yeardaysform1900(int year);

int mouthdays(int year,int mouth);

void printyear();

void printmouth(int ,int);

void findday();

char *dayss[]={"日","一","二","三","四","五","六"};

int main()

{

cout<<"****************************************************************************"<<endl;

cout<<"******************************* 欢迎本万年历!

******************************"<<endl;

cout<<"****************************************************************************"<<endl;

do{

cout<<"李金香,请选择:"<<endl;

cout<<"--------------------------1.显示莫一年的万年历

------------------------------"<<endl;

cout<<"--------------------------2.显示莫一月的万年历

------------------------------"<<endl;

cout<<"--------------------------3.查询莫一天的

-------------------------------------"<<endl;

cout<<"--------------------------0.退出

---------------------------------------------"<<endl;

int choice;

cin>>choice;

hh:switch(choice)

{

case 1:printyear();break;

case 2:

{ int year,mouth;cout<<"请输入年和月,如:2012 10"<<endl;

cin>>year>>mouth;

printmouth(year,mouth);break;}

case 3:findday();break;

case 0:exit(0);break;

default:cout<<"输入错误,请重新输入:"<<endl;

cin>>choice;goto hh;

}

}while(1);

return 0;

}

int yeardaysform1900(int year)

{

int i,days=0;

for(i=1990;i<year;i++)

{

if(i%4==0&&i%100!=0||i%400==0)

days+=366;

else

days+=365;

}

return days;}

int mouthdays(int year,int mouth)

{

int days;

bool aa;

if(year%4==0&&year%100!=0||year%400==0)aa=true;

else

aa=false;

switch(mouth)

{case 1:case 3:case 5:case 7:case 8:case 10:case 12:

days=31;break;

case 2:if(aa)days=29;else days=28;break;

default:days=30;

}

return days;}

void printyear()

{

cout<<endl;

cout<<"请输入年:"<<endl;

cout<<endl<<endl;

int year;int i;

cin>>year;

for(i=1;i<13;i++)

{printmouth(year,i);for(int i=0;i<100000000;i++);}

}

void printmouth(int year,int mouth)

{

int i,days=0;

cout<<endl;

//int year,mouth;

//cout<<"请输入年和月,(如2012 3)"<<endl;

cout<<endl;

//cin>>year>>mouth;

days+=yeardaysform1900(year);

for(i=1;i<mouth;i++)

days+=mouthdays(year,i);

i=days%7;

int j=0;int aa=0;

cout<<year<<"年"<<mouth<<"月"<<endl;

for(j=0;j<7;j++)

cout<<dayss[j]<<" ";cout<<endl;

for(j=0;j<i+1;j++){

cout<<" ";aa++;

if(aa%7==0)cout<<endl;

}

for(j=1;j<=mouthdays(year,mouth);j++)

{

if(aa%7==0)cout<<endl;

cout<<j<<" ";aa++;

}cout<<endl;

}

void findday(){cout<<"请输入年月日,如:2012 10 1"<<endl;

int year,mouth,day;

cin>>year>>mouth>>day;int totalday=0,i;

for(i=1900;i<year;i++)

totalday+=yeardaysform1900(i);

for(i=1;i<mouth;i++)

totalday+=mouthdays(year,i);

for(i=1;i<day;i++);

totalday+=i;

totalday%=7;

cout<<year<<"年"<<mouth<<"月"<<day<<"日"<<"是星期"<<dayss[totalday]<<endl;

}

…… 此处隐藏:422字,全部文档内容请下载后查看。喜欢就下载吧 ……
万年历C++源代码.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219