首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

项目 五 玩转日期

2013-03-16 
项目 5玩转日期/** 程序的版权和版本声明部分* Copyright (c)2013, 烟台大学计算机学院学生* All rightsre

项目 5 玩转日期

/** 程序的版权和版本声明部分* Copyright (c)2013, 烟台大学计算机学院学生* All rightsreserved.* 文件名称:score.cpp                           * 作    者:   徐本锡                         * 完成日期: 2013 年 03 月 09  日* 版本号: v1.0      * 输入描述:已经在程序中初始化* 问题描述:* 输出:  */#include<iostream>#include<fstream> using namespace std;bool y(struct date a);//声明bool T(struct date a);//声明int year_day(struct date a);//声明int day_second(struct date a);//声明int year_second(struct date a);//声明struct date{int year;int month;int day;int hour;int minute;int second;};int main(){ int a1,a2;date a;do{cout<<"****请输入  年  月  日   时   分  秒****"<<endl;cout<<" 年";cout<<'\r';cin>>a.year;cout<<endl;cout<<"  月";cout<<'\r';cin>>a.month;cout<<endl;cout<<" 日";cout<<'\r';cin>>a.day;cout<<endl;cout<<"   时";cout<<'\r';cin>>a.hour;cout<<endl;cout<<" 分";cout<<'\r';cin>>a.minute;cout<<endl;cout<<" 秒";cout<<'\r';cin>>a.second;cout<<endl;if(T(a)==false){cout<<"日期输入错误!"<<endl;cout<<"重新输入请按1   退出请按其他数字";cin>>a2;if(a2==1)continue;elsebreak;}else{cout<<"  该日为本年第:"<<year_day(a)<<"天。"<<endl<<endl;cout<<"  该秒为本日第:"<<day_second(a)<<"秒。"<<endl<<endl;cout<<"  该秒为本年第:"<<year_second(a)<<"秒。"<<endl<<endl;cout<<"重新输入请按1   退出请按其他数字";cin>>a1;if(a1==1)continue;elsebreak;}}while(1);return 0;}bool y(struct date a)//判断是否为闰年;{bool Y=false;if(a.year/400==0||(a.year/4&&a.year/100==0))Y=true;return Y;}bool T(struct date a)//判断日期输入是否正确{bool Y=true;switch(a.month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:if(a.day>31||a.day<1)Y=false;break;case 4:case 6:case 9:case 11:if(a.day>30||a.day<1)Y=false;break;case 2:if(y(a)){if(a.day>29||a.day<1)Y=false;break;}elseif(a.day>28||a.day<1)Y=false;break;}if(a.month>12||a.month<1)Y=false;if(a.hour>24||a.hour<0)Y=false;if(a.minute>60||a.minute<0)Y=false;if(a.second>60||a.second<0)Y=false;return Y;}int year_day(struct date a)//本年的第几天   自定义函数{int d;switch(a.month){case 1:d=a.day;break;case 2:d=31+a.day;break;case 3:d=59+a.day;break;case 4:d=90+a.day;break;case 5:d=120+a.day;break;case 6:d=151+a.day;break;case 7:d=181+a.day;break;case 8:d=212+a.day;break;case 9:d=243+a.day;break;case 10:d=273+a.day;break;case 11:d=304+a.day;break;case 12:d=334+a.day;break;}if(y(a)&&(a.month>=3&&a.month<=12))d=d+1;return d;}int day_second(struct date a)//当天第几秒{int s;s=((a.hour*60+a.minute)*60+a.second);return s;}int year_second(struct date a)//当年第几秒{int s;s=(year_day(a)-1)*86400+day_second(a);return s;}

项目 五   玩转日期

热点排行