Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- int validar();
- int main()
- {
- float diaF,mesF,anhoF;
- //DESARROLLE AQUI EL EJERCICIO
- cin>>anhoF;
- cin>>mesF;
- cin>>diaF;
- // Castear variables a tipo entero
- int dia = diaF;
- int mes = mesF;
- int anho = anhoF;
- if(anhoF!=int(anhoF) or anhoF<0 or mesF!=int(mesF) or mesF<0 or mesF>12 or diaF!=int(diaF) or diaF<0 or diaF>31 ){
- cout<<"Anho="<<anhoF<<", mes="<<mesF<<", dia="<<diaF<<" ---> No es una fecha valida";
- }
- else if(!((anho % 4 == 0 && anho % 100 != 0) || anho % 400 == 0) && mes==2 && diaF>28){ // Verificar que no sea anho bisiesto y mes febrero (max 28 dias)
- cout<<"Anho="<<anho<<", mes="<<mes<<", dia="<<dia<<" ---> No es una fecha valida";
- }
- else{
- switch(mes){
- case 1: // Enero, 31 dias
- dia += 7;
- if(dia>31){
- dia = dia-31;
- mes++;
- }
- break;
- case 2: // Febrero, 29 (Anho Bisiesto), 28 dias
- dia += 7;
- if((anho % 4 == 0 && anho % 100 != 0) || anho % 400 == 0){ //Condicion de anho bisiesto
- if(dia>29){
- dia = dia-29;
- mes++;
- }
- }
- else{
- if(dia>28){
- dia = dia-28;
- mes++;
- }
- }
- break;
- case 3: // Marzo, 31 dias
- dia += 7;
- if(dia>31){
- dia = dia-31;
- mes++;
- }
- break;
- case 4: //Abril, 30 dias
- dia += 7;
- if(dia>30){
- dia = dia-30;
- mes++;
- }
- break;
- case 5: // Mayo, 31 dias
- dia += 7;
- if(dia>31){
- dia = dia-31;
- mes++;
- }
- break;
- case 6: // Junio, 30 dias
- dia += 7;
- if(dia>30){
- dia = dia-30;
- mes++;
- }
- break;
- case 7: // Julio, 31 dias
- dia += 7;
- if(dia>31){
- dia = dia-31;
- mes++;
- }
- break;
- case 8: // Agosto, 31 dias
- dia += 7;
- if(dia>31){
- dia = dia-31;
- mes++;
- }
- break;
- case 9: // Septiembre, 30 dias
- dia += 7;
- if(dia>30){
- dia = dia-30;
- mes++;
- }
- break;
- case 10: // Octubre, 31 dias
- dia += 7;
- if(dia>31){
- dia = dia-31;
- mes++;
- }
- break;
- case 11: // Noviembre, 30 dias
- dia += 7;
- if(dia>30){
- dia = dia-30;
- mes++;
- }
- break;
- case 12: // Diciembre, 31 dias
- dia += 7;
- if(dia>31){
- dia = dia-31;
- mes=1;
- anho++;
- }
- break;
- }
- cout<<"Anho="<<anhoF<<", mes="<<mesF<<", dia="<<diaF<<" ---> ";
- printf("%02d", dia); // Se utiliza printf porque este permite modificar el numero de digitos a mostrar
- cout<<"-";
- printf("%02d", mes);
- cout<<"-";
- printf("%04d", anho);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement