#include <iostream>
using namespace std;
#include "Data.h"
void Data::setData(int d,int m,int a)
{
dia = d;
mes = m;
ano = a;
}
int Data::getDatadia()
{
return dia;
}
int Data::getDatames()
{
return mes;
}
int Data::getDataano()
{
return ano;
}
int Data::reiniciar()
{
int d,m,a;
cout << "\nDiga o ano que se deseja reiniciar:" << endl;
cin >> a;
if(a>ano){ cout << "\nDigite uma data anterior a atual..." << endl;return 0; }
cout << "\nDiga o mes que se deseja reiniciar:" << endl;
cin >> m;
if(a==ano&&m>mes){ cout << "\nDigite uma data anterior a atual..." << endl;return 0; }
cout << "\nDiga o dia que se deseja reiniciar:" << endl;
cin >> d;
if(a==ano&&m==mes&&d>dia){ cout << "\nDigite uma data anterior a atual..." << endl;return 0; }
setData(d,m,a);
normalizar(d,m,a);
return 0;
}
int Data::adiantar()
{
int d,m,a;
cout << "\nDiga o ano que se deseja adiantar:" << endl;
cin >> a;
if(a<ano){ cout << "\nDigite uma data posterior a atual..." << endl;return 0; }
cout << "\nDiga o mes que se deseja adiantar:" << endl;
cin >> m;
if(a==ano&&m<mes){ cout << "\nDigite uma data posterior a atual..." << endl;return 0; }
cout << "\nDiga o dia que se deseja adiantar:" << endl;
cin >> d;
if(a==ano&&m==mes&&d<dia){ cout << "\nDigite uma data posterior a atual..." << endl;return 0; }
setData(d,m,a);
normalizar(d,m,a);
return 0;
}
void Data::imprimir()
{
cout << "\nO dia eh " << dia << ", o mes eh " << mes << ", o ano eh " << ano << "." << endl;
}
void Data::normalizar(int d, int m, int a)
{
dia = (d>=1 && d<=31) ? d : 1;
mes = (m>=1 && m<=12) ? m : 1;
ano = (a>=1) ? a : 1;
if(mes==1||mes==3||mes==5||mes==7||mes==8||mes==10||mes==12)
{
dia = (d>=1 && d<=31) ? d : 1;
mes = (m>=1 && m<=12) ? m : 1;
ano = (a>=1) ? a : 1;
}
if(mes==2||mes==4||mes==6||mes==9||mes==11)
{
dia = (d>=1 && d<=30) ? d : 1;
mes = (m>=1 && m<=12) ? m : 1;
ano = (a>=1) ? a : 1;
}
if(mes == 2)
{
dia = (d>=1 && d<=28) ? d : 1;
mes = (m>=1 && m<=12) ? m : 1;
ano = (a>=1) ? a : 1;
}
if(mes == 2 && ano%4==0 && (ano%400==0 || ano%100!=0))
{
dia = (d>=1 && d<=29) ? d : 1;
mes = (m>=1 && m<=12) ? m : 1;
ano = (a>=1) ? a : 1;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Exercicio1.rar_The Show
共3个文件
cpp:2个
h:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 64 浏览量
2022-09-23
09:07:38
上传
评论
收藏 1KB RAR 举报
温馨提示
Its a code to show how to manipulate dates, checking if its right to the year and month.
资源推荐
资源详情
资源评论
收起资源包目录
Exercicio1.rar (3个子文件)
Data.cpp 2KB
Data.h 378B
Main.cpp 846B
共 3 条
- 1
资源评论
weixin_42651887
- 粉丝: 81
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功