万年历C++源代码
时间:2025-02-23
时间: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字,全部文档内容请下载后查看。喜欢就下载吧 ……
下一篇:共青团员入党推优材料