万年历,整的我老费劲了
来源:互联网 发布:广州大数据培训 编辑:程序博客网 时间:2024/04/28 16:59
#include<iostream>#include <string>#include <stdio.h>#include <iomanip>int year,month;using namespace std;bool isRunYear(int year);long year2day(int year);int month2day(int month,int year);void zhuti();int main(){ std::cout<<"\n\n\t\t——尊敬的会员,欢迎您光临普通日历查询系统——"<<std::endl; //提示输入密码和账号,如果错误则退出 std::string account = "1"; //账号变量 std::string password = "1";//密码变量 //第一步:实现密码的控制,如果输入错误,根据选择继续或者退出 do{ std::cout<<"请输入您的会员账号:"; std::cin>>account; std::cout<<"请输入您的会员密码:"; std::cin>>password; std::cout<<"\n-------------------------------------------------------------------------\n"; if(account=="1"&&password=="1") { zhuti();//跳出循环执行主体代码 } else { break; //在没有输入正确的时候,做出的择 } }while(true); return 0;}void zhuti(){ std::cout<<"\n\n\t\t***************欢 迎 使 用 万 年 历***********";int sumyear = 0,yushu,i,n;int summonth = 0,zongday,j; string answer; //第二步:用循环控制是否继续查询日历std::cout<<"\n请选择年份: ";std::cin>>year;std::cout<<"\n请选择月份: ";std::cin>>month;//第三步:判断输入年份是否是闰年sumyear=year2day(year);//第四步:计算输入的年份之前的天数for(n=1;n<month;++n){summonth=summonth+month2day(n,year);}//第五步:计算输入月份之前的天数 zongday=sumyear+summonth; //第六步:求出距离1900年1月1日的天数yushu=zongday%7;//第七步:计算输入月份的第一天是星期几std::cout<<"星期日 星期一 星期二 星期三 星期四 星期五 星期六"<<endl;for(i=1;i<=month2day(month,year);++i){if(yushu==6){if(i%7==0){ cout<<setw(yushu)<<i<<endl; continue;}}if(yushu==0){if(i==13||i==20||i==27){ cout<<i<<endl; continue;}if(i==1){cout<<setw(9)<<1;cout<<setw(8)<<2;cout<<setw(8)<<3;cout<<setw(8)<<4;cout<<setw(9)<<5;i+=4;continue;}if(i==6){cout<<setw(7)<<i<<endl;continue;}}if(yushu==1){if(i==19||i==12||i==26){ cout<<i<<endl; continue;}if(i==1){cout<<setw(17)<<1;cout<<setw(8)<<2;cout<<setw(8)<<3;i+=3;continue;}if(i==5){cout<<setw(8)<<i<<endl;continue;}}if(yushu==2){if(i==11||i==18||i==25){ cout<<i<<endl; continue;}if(i==1){cout<<setw(26)<<1;cout<<setw(8)<<2;cout<<setw(8)<<3;i+=2;continue;}if(i==4){cout<<setw(8)<<i<<endl;continue;}}if(yushu==3){if(i==10||i==17||i==24){ cout<<i<<endl; continue;}if(i==1){cout<<setw(35)<<1;cout<<setw(8)<<2;i+=1;continue;}if(i==3){cout<<setw(8)<<i<<endl;continue;}}if(yushu==4){if(i==9||i==16||i==23||i==30){ cout<<i<<endl; continue;}if(i==1){cout<<setw(44)<<1;i+=0;continue;}if(i==2){cout<<setw(5)<<i<<endl;continue;}}if(yushu==5){if(i==8||i==15||i==29||i==22){ cout<<i<<endl; continue;}if(i==1){cout<<setw(49)<<1<<endl;continue;}}cout<<setw(yushu)<<i<<'\t';}//第八步:打印日历(注意需要打印输入月份第一天之前所对应星期的空格) cout<<endl;cout<<"按enter继续"<<endl; fflush(stdin); getchar(); zhuti();}bool isRunYear(int year){ if((year%4==0&&year%100!=0)||(year%400==0)){ return true; }else{ return false; }}long year2day(int year){ int i; long sum=0; for(i=1900;i<year;i++){ if(isRunYear(i)){ sum+=366; }else{ sum+=365; } } return sum;}int month2day(int month,int year){ int day=0; switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: day=31; break; case 4: case 6: case 9: case 11: day=30; break; case 2: if(isRunYear(year)){ day=29; }else{ day=28; } break; } return day;}
运行结果:
- 万年历,整的我老费劲了
- 我老了
- 當我老了
- 《当我老了》
- 很老的一篇文章了: 我的软件经历
- IPv9的出现也许真的说明我老了
- 我可爱的老妹 终于回来了
- 老志愿军沿街讨饭的那一刻。我流泪了
- 大三,再不学习,我就真的老了
- 时光老去,远了年少的我
- android老知识,我只是忘记了__PreferenceActivity的应用
- 我的万年历程序,Calendar.java
- 我感觉我秒老了
- 如果不是我老了,就是这个城市老了
- 如果不是我老了,就是这个城市老了
- 如果不是我老了,就是这个城市老了
- 我的老同桌
- 我的老博客
- thrift常用命令
- [Linux] 四,Vim (我个人的总结,很好!)
- Struts2教程五——Processing Forms
- [Linux] 五,引导流程 1
- 下雪了!美图秀秀让雪景照顷刻焕发光彩
- 万年历,整的我老费劲了
- 照片更MAN更质感 美图秀秀瞬间提升气场
- 数码照巧转胶片效果 美图秀秀制作质感写真
- 补救灰暗照 美图秀秀打造清新糖水片
- 并非单纯怀旧 美图秀秀打造华丽复古色调
- 美图秀秀修复背光照 瞬间让你光彩照人
- bit 1020 小白鼠
- Python模块学习 – re 正则表达式
- 美图秀秀神奇消除笔 轻松抹掉路人甲