万年历C++源代码

更新时间:2023-08-21 20:05:01 阅读量: 高等教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

#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;

}

本文来源:https://www.bwwdw.com/article/v2ci.html

Top