Buenas que tal a todos, es la primera vez q posteo aca compañeros y queria saber si alguien me podria explicar como es q hago un algoritmo para q a determinada fecha le sume o reste una cantidad N de dias.
desde ya muchas graciasss
| |||
FuncionSumar y restar fechas Buenas que tal a todos, es la primera vez q posteo aca compañeros y queria saber si alguien me podria explicar como es q hago un algoritmo para q a determinada fecha le sume o reste una cantidad N de dias. desde ya muchas graciasss |
| ||||
Respuesta: FuncionSumar y restar fechas
Código:
#include<stdio.h> #include<conio.h> int anioBisiesto(int); int cantDias(int,int); int esFechaCorrecta(int, int, int); int main(){ int anio, mes, dia, cant_dias, dias_rest, i, j; printf("Ingrese fecha en formato dd/mm/yyyy: "); scanf("%d/%d/%d", &dia, &mes, &anio); printf("Ingrese cantidad de días para restar: "); scanf("%d", &cant_dias); j=dia; for(i=1;i<=cant_dias;i++){ if(j == 1){ anio = (mes-1 < 1) ? anio-1 : anio; mes = (mes-1 < 1) ? 12 : mes-1; j= cantDias(mes, anioBisiesto(anio))+1; } j--; } printf("%d/%d/%d", j, mes, anio); getch(); } int anioBisiesto(int anio){ if(anio % 4 == 0 && (anio % 100 !=0 || anio % 400 == 0)) return 1; else return 0; } int cantDias(int mes, int bisiesto){ int dias; if(mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 11){ dias = 31; }else{ if(mes == 2){ dias = 28 + bisiesto; }else{ dias = 30; } } return dias; } int esFechaCorrecta(int dia, int mes, int anio){ int bisiesto, cant_Dias; bisiesto = anioBisiesto(anio); cant_Dias = cantDias(mes, bisiesto); if(anio > 1900 && anio < 2009 && mes <= 12 && mes >= 1 && dia <= cant_Dias && dia >=1) return 1; else return 0; }
__________________ Spread Firefox | Download Day 2008 ¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/ |