教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 资料大全 >

c++万年历小样一枚

来源:网络收集 时间:2026-05-18
导读: 程序编辑 #includeiostream.h #includeiomanip.h void fn0() { cout ----------------------------endl; cout * *endl; cout 欢迎进入万年历查询系统 endl; cout * *endl; cout ----------------------------endlendlendl; cout 请选择你要查询的内容endlend

程序编辑

#include<iostream.h>
#include<iomanip.h>
void fn0()
{
cout<<" ----------------------------"<<endl;
cout<<" * *"<<endl;
cout<<" 欢迎进入万年历查询系统 "<<endl;
cout<<" * *"<<endl;
cout<<" ----------------------------"<<endl<<endl<<endl;
cout<<" 请选择你要查询的内容"<<endl<<endl;
cout<<" 1.显示一年的日历"<<endl;
cout<<" 2.显示某一天是星期几"<<endl;
cout<<" 3.退出"<<endl;
cout<<"请选择按键<1-3>"<<endl;
}
//*****************************************************//
//*********************元旦的星期数********************//
int yuandan(int year)
{
int n = year-1900; //相差n年
n = n+(n-1)/4+1; //n年多n天,(n-1)/4个闰年数,再加 1900年元旦的星期序号1 因为7*52=364。
n = n%7;//每年多的一天+闰年数+1900年的星期 //序号

return n; //求出最后的星期数
}
//***********************//
//****当年每月的天数*********//
int monthday(int year,int month)
{
if(month==2)
{
if((year%4==0)&&(year%100!=0)||(year%400==0))

return 29;
else return 28;
}
else if(month==4||month==6||month==9||month==11)
return 30;
else
return 31;
}
//**********************************************************//
//*********************算年第几月第几天的天数//*******************//
int sum_day(int year, int month,int day) //算年第几月的天数;
{
int day_month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(int i=1;i<month;i++)
day+=day_month[i];
if((year%4==0)&&(year%100!=0)||(year%400==0))
if(month>2)
day+=1;

return day;
}
//*******************************************************//
//*********************输出一年的日历********************//
void fn1()
{
int year,k,n;
cout<<"请输入您要查询的年份"<<endl;
cin>>year;
n=yuandan(year);

for(k=1;k<=12;k++)
{
cout<<k<<"月"<<endl;
cout<<setw(6)<<"日"<<setw(6)<<"一"<<setw(6)<<"二"<<setw(6)
<<"三"<<setw(6)<<"四"<<setw(6)<<"五"<<setw(6)<<"六"<<endl;
cout<<setw(n*6)<<"";
for(int i=1;i<=monthday(year,k);i++)
{
cout<<setw(6)<<i<<setw(6);
if((i+n)%7==0)
cout<<endl;
}

n=(n+monthday(year,k)%7)%7;//每月进行累加。除余,算月一号星期数
cout<<endl;
}
}
//******************************************************//
//**********查询当天的星期数*******************
*********//
void fn2()
{
int year,month,date,sum,n;
char *s[]={ "星期日", "星期一","星期二","星期三","星

程序编辑

期四","星期五","星期六"};
cout<<"请输入你想查询的年份:";
cin>>year;
cout<<"输入月份(0~12) ";
cin>>month;
cout<<"输入此年当月日期 ";
cin>>date;
while(date>monthday(year,month))
{
cout<<"您输入有误,请重新输入该月日期 ";
cin>>date;
}
sum=yuandan(year)+sum_day(year,month,date)-1;

n=sum%7;
cout<<s[n]<<endl;
}


void select()
{int number;
cin>>number;
if(number!=1&&number!=2&&number!=3)
{
cout<<"你输入的数字有误,请重新输入"<<endl;
fn0();select();}
else if(number==1)
fn1();
else if(number==2)
fn2();
else
cout<<"谢谢使用本程序"<<endl;
}

void main()
{
int t=4;
while(t
==4)
{
fn0();
select();
cout<<"重新查询请按4。";
cin>>t;
}
}

部分借用·········

…… 此处隐藏:466字,全部文档内容请下载后查看。喜欢就下载吧 ……
c++万年历小样一枚.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/1814501.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)