Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <windows.h>
- using namespace std;
- void mostrarFecha(int minuto,int hora,int dia,int mes,int anio){
- cout<<"anio: "<<anio<<" mes : "<<mes<<" dia: "<<dia<<" hora: "<<hora<<" minuto: "<<minuto<<endl;
- }
- int diferenciaAnios(int anioInicial,int anioFinal){
- int suma=0;
- for(int i=anioInicial;i<anioFinal;i++){
- if(anioInicial%4==0){
- suma=suma+366;
- }else{
- suma=suma+365;
- }
- }
- return suma;
- }
- int diferenciaMeses(int mesInicial,int mesFinal,int anio){
- int suma=0;
- int meses[12]={31,28,31,30,31,30,31,31,30,31,30,31};
- if(anio%4==0){
- meses[1]=29;
- }
- for(int i=mesInicial;i<mesFinal;i++){
- suma=suma+meses[i-1];
- }
- return suma;
- }
- int cantidadHoras(int minutos){
- return minutos/60;
- }
- void buscandoFecha(int vAnio,int vMes,int vDia,int vHora,int vMinuto){
- int anio=2018;
- int mes=1;
- int dia=1;
- int hora=0;
- int minuto=0;
- if(vAnio>=anio && vMes>=mes && vDia>=dia){
- // OBTENER LA CANTIDAD DE MINUTOS EN TOTAL
- int diasDeAnios=diferenciaAnios(anio,vAnio);
- int diasMeses=diferenciaMeses(mes,vMes,vAnio);
- int diasRestantes=vDia-dia;
- int auxHoras=vHora-hora;
- int auxMinutos=vMinuto-minuto;
- int minutosTotales=diasDeAnios*24*60+diasMeses*24*60+diasRestantes*24*60+auxHoras*60+auxMinutos;
- minutosTotales=minutosTotales-cantidadHoras(minutosTotales);
- // REDICIENDO A ANIOS
- for(int i=2018;i<vAnio;i++){
- if(i%4==0){
- if(minutosTotales>=366*24*60){
- minutosTotales=minutosTotales-366*24*60;
- anio++;
- }else{
- break;
- }
- }else{
- if(minutosTotales>=365*24*60){
- minutosTotales=minutosTotales-365*24*60;
- anio++;
- }else{
- break;
- }
- }
- }
- // REDUCIENDO A MESES
- int meses[12]={31,28,31,30,31,30,31,31,30,31,30,31};
- if(vAnio%4==0){
- meses[1]=29;
- }
- int aux;
- for(int i=1;i<12;i++){
- aux=meses[i-1]*24*60;
- if(minutosTotales>=aux){
- minutosTotales=minutosTotales-aux;
- mes++;
- }else{
- break;
- }
- }
- // REDUCIENDO A DIAS
- aux=minutosTotales/(24*60);
- minutosTotales=minutosTotales-aux*24*60;
- dia+=(aux);
- // REDUCIENDO A HORAS
- aux=minutosTotales/(60);
- minutosTotales=minutosTotales-aux*60;
- hora+=(aux);
- // MINUTOS RESTANTES
- minuto=minutosTotales;
- mostrarFecha(vMinuto,vHora,vDia,vMes,vAnio);
- mostrarFecha(minuto,hora,dia,mes,anio);
- }
- }
- int main()
- {
- int anio;
- int mes;
- int dia;
- int hora;
- int minuto;
- cout<<" Anio: ";
- cin>>anio;
- cout<<" Mes : ";
- cin>>mes;
- cout<<" Dia : ";
- cin>>dia;
- cout<<" Hora: ";
- cin>>hora;
- cout<<" Minuto: ";
- cin>>minuto;
- cout<<endl;
- buscandoFecha(anio,mes,dia,hora,minuto);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement