nextday函数程序实现
来源:互联网 发布:电脑上翻墙用什么软件 编辑:程序博客网 时间:2024/06/05 11:55
描述:输入指定日期,输出输入日期的下一天的具体日期;
程序实现:
#include <iostream>#include <string>using namespace std;int main(){ string ntime; int tmp; while(1) { cout<< "请输入日期,例如(0712-02-12)" << endl;loop: cin>>ntime; while(ntime.length()!=10) { cout<<"您的输入有误,请重新输入日期,例如(0712-02-12)"<<endl; goto loop; } while(ntime[4]!='-'||ntime[7]!='-') { cout<<"您的输入格式有误,请重新输入日期,例如(0712-02-12)"<<endl; goto loop; } while(ntime[0]=='0'&&ntime[1]=='0'&&ntime[2]=='0'&&ntime[3]=='0') { cout<<"您的年份输入有误,请重新输入日期,例如(0712-02-12)"<<endl; goto loop; } while(ntime[5]>='2'||(ntime[5]=='1'&&ntime[6]>='3')) { cout<<"您的月份输入有误,请重新输入日期,例如(0712-02-12)"<<endl; goto loop; } while(ntime[5]=='0'&&ntime[6]=='0') { cout<<"您的月份输入有误,请重新输入日期,例如(0712-02-12)"<<endl; goto loop; } while((ntime[8]=='3'&&ntime[9]>='2')) { cout<<"您的天数输入有误,请重新输入日期,例如(0712-02-12)"<<endl; goto loop; } while(ntime[8]=='0'&&ntime[9]=='0') { cout<<"您的天数输入有误,请重新输入日期,例如(0712-02-12)"<<endl; goto loop; } while((((ntime[5]=='1'&&(ntime[6]=='0'||ntime[6]=='2'))||ntime[6]=='1'||ntime[6]=='3'||ntime[6]=='5'||ntime[6]=='7'||ntime[6]=='8')&&ntime[8]=='3'&&ntime[9]>='2')||(ntime[5]=='0'&&ntime[6]=='2'&&ntime[8]>='3')) { cout<<"您的天数输入有误,请重新输入日期,例如(0712-02-12)"<<endl; goto loop; } while(((ntime[5]=='1'&&ntime[6]=='1')||(ntime[5]=='0'&&(ntime[6]=='4'||ntime[6]=='6'||ntime[6]=='9')))&&(ntime[8]=='3'&&ntime[9]>='1')) { cout<<"您的天数输入有误,请重新输入日期,例如(0712-02-12)"<<endl; goto loop; } while(ntime[0]=='9'&&ntime[2]=='9'&&ntime[3]=='9'&&ntime[1]=='9'&&ntime[5]=='1'&&ntime[6]=='2'&&ntime[8]=='3'&&ntime[9]=='1') { cout<<"您的输入超出范围,请重新输入日期,例如(0712-02-12)"<<endl; goto loop; } for(int i=0; i<ntime.length(); i++) { if((ntime[i]>='10'||ntime[i]<'0')&&ntime[i]!='-') { cout<<"您的年份输入有误1,请重新输入日期,例如(0712-02-12)"<<endl; goto loop; } } if(ntime[8]<'2'||(ntime[8]=='2'&&ntime[9]<='7')) { if(ntime[9]=='9') { ntime[9]='0'; ntime[8]=ntime[8]+1; } else { ntime[9]=ntime[9]+1; } cout<<"nextday为:"<<ntime<<endl; } else if(ntime[8]=='2'&&ntime[9]>='8') { if(ntime[5]=='0'&&ntime[6]=='2') { tmp=(ntime[0]-48)*1000+(ntime[1]-48)*100+(ntime[2]-48)*10+ntime[3]-48; if(tmp%400==0||(tmp%4==0&&tmp%100!=0)) { if(ntime[8]=='2'&&ntime[9]=='9') { ntime[6]=ntime[6]+1; ntime[8]='0'; ntime[9]='1'; } else { ntime[9]=ntime[9]+1; } cout<<"nextday为:"<<ntime<<endl; } else { if(ntime[9]=='9') { cout<<"您的输入有误,这一年的2月没有29天"<<endl; cout<< "请输入日期,例如(0712-02-12)" << endl; goto loop; } else { ntime[6]=ntime[6]+1; ntime[8]='0'; ntime[9]='1'; cout<<"nextday为:"<<ntime<<endl; } } } } else if((ntime[5]=='1'&&ntime[6]=='1')||(ntime[5]=='0'&&(ntime[6]=='4'||ntime[6]=='6'||ntime[6]=='9'))) { ntime[9]=ntime[9]+1; if(ntime[8]=='3'&&ntime[9]=='1') { ntime[6]=ntime[6]+1; ntime[8]='0'; ntime[9]='1'; } cout<<"nextday为:"<<ntime<<endl; } else if((ntime[5]=='1'&&(ntime[6]=='0'||ntime[6]=='2'))||ntime[6]=='1'||ntime[6]=='3'||ntime[6]=='5'||ntime[6]=='7'||ntime[6]=='8') { ntime[9]=ntime[9]+1; if(ntime[9]>='2'&&ntime[8]=='3') { ntime[6]=ntime[6]+1; ntime[8]='0'; ntime[9]='1'; } if(ntime[5]=='1'&&ntime[6]>='3') { ntime[3]=ntime[3]+1; ntime[5]='0'; ntime[6]='1'; ntime[8]='0'; ntime[9]='1'; if(ntime[3]=='10') { ntime[3]='0'; ntime[2]=ntime[2]+1; } if(ntime[2]=='10') { ntime[2]='0'; ntime[1]=ntime[1]+1; } if(ntime[1]=='10') { ntime[1]='0'; ntime[0]=ntime[0]+1; } } cout<<"nextday为:"<<ntime<<endl; } } return 0;}
- nextday函数程序实现
- Nextday函数的简单实现
- nextday
- 完美版nextday程序。可以根据平年闰年智能算出明天日期
- C语言NextDay编程!
- NEXTDAY 封装思想
- 程序实现sqrt()函数
- 通过函数实现程序内敛
- 利用友元 算出nextday。
- 编写实现函数strcat功能的程序
- 标准正态分布函数表的程序实现
- 标准正态分布函数表的程序实现
- 【面试题,纸上写程序】实现memcpy函数
- 写程序实现自己的strcpy() 函数
- select函数实现三人聊天程序
- 组合型母函数程序实现
- 自主编写程序实现strcmp函数功能
- 一些简单程序的函数实现
- STL技巧
- Avaya CEO:愿意与思科、微软共享客户
- CSS做出颜色饱满的按钮
- 使用valgrind分析C程序调用线路图
- JSTL&EL JSTL标签库
- nextday函数程序实现
- Delphi 图形设计(3)
- 多线程Event
- Android开发教程汇总
- Linux环境VNC服务安装、配置与使用
- KDE中文
- Linux 下 Sublime Text 2 破解
- tar.xz文件如何解压
- iOS 去除UITableView中多余的separator