You are on page 1of 3

#ifndef FECHA_H_INCLUDED

#define FECHA_H_INCLUDED
bool esCorrecta(unsigned int d, unsigned int m, int a);
bool esBisiesto (int a);
class Fecha
{
public:
Fecha(unsigned int d, unsigned int m, int a); //Constructor de
la clase fecha, recibe como parmetros un da (d), un mes (m) y un ao
(a).
unsigned int getDia(); //Nos devuelve el da
unsigned int getMes(); //Nos devuelve el mes
int getAnho(); //Nos devuelve el ao
void imprimirFecha(); //Muestra por pantalla la fecha en
formato d/m/a
void cambiarFecha(unsigned int d, unsigned int m, int a);
//Cambia la fecha
private:
unsigned int dia;
unsigned int mes;
int anho; //Aos a.d.C.
};
#endif // FECHA_H_INCLUDED

Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#include <iostream>
#include "Fecha.h"
using namespace std;
Fecha::Fecha(unsigned int d, unsigned int m, int a)
{
dia = d;
mes = m;
anho = a;
}
unsigned int Fecha::getDia()
{
return dia;
}
unsigned int Fecha::getMes()
{
return mes;
}
int Fecha::getAnho()
{
return anho;
}
void Fecha::imprimirFecha()
{
cout<<"\n"<<dia<<"/"<<mes<<"/"<<anho;
}
void Fecha::cambiarFecha(unsigned int d, unsigned int m, int a)
{

if(esCorrecta(d,m,a))
{
dia = d;
mes = m;
anho = a;
}
else
{
cout<<"\nLa fecha introducida es incorrecta. Datos no
modificados.";
}
}
bool esCorrecta(unsigned int d, unsigned int m, int a)
{
unsigned int arrayDiasMes[12] =
{31,29,31,30,31,30,31,31,30,31,30,31};
if(a==0) return false; //Aporte de susmel en comentarios.
if(d<=0||d>31) return false;
if(m<=0||m>12) return false;
if(m==2 && d>29) return false;
if(arrayDiasMes[m-1]<d) return false;
if(m==2 && d==29 && !esBisiesto(a)) return false;
return true;
}
bool esBisiesto(int a)
{
if ((a%4==0)||(a%400==0)&&(a%100!=0)) return true;
else return false;
}

Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

#include <iostream>
#include "Fecha.h"
using namespace std;
int main()
{
unsigned int dia, mes;
int anho;
do
{
cout<<"\nIntroduzca da de nacimiento: ";
cin>>dia;
cout<<"\nIntroduzca da de nacimiento: ";
cin>>mes;
cout<<"\nIntroduzca da de nacimiento: ";
cin>>anho;
}

while(!esCorrecta(dia,mes,anho));
Fecha anhoNacimiento(dia,mes,anho);
anhoNacimiento.cambiarFecha(10,31,1984); //Intentamos cambiar la
fecha a una errnea. Mostrar un mensaje de error.
cout<<"\nMostrando la fecha por pantalla con el mtodo
imprimirFecha(): ";
anhoNacimiento.imprimirFecha(); //Utilizamos la funcin imprimir
fecha
cout<<"\nMostrando la fecha por pantalla con los mtodos getDia(),
getMes() y getAnho():
"<<anhoNacimiento.getDia()<<"/"<<anhoNacimiento.getMes()<<"/"<<anhoNac
imiento.getAnho(); //Visualizamos la fecha de otra forma.
return 0;
}

XXXXXXXXXXXXXXXXXXXXXX
#include<stdio.h>
#include<conio.h>
//Comunidad Parcerosunicesar
//programacion I
//semestre: 2014-2
main(){
int fecdn,edad;
int const actual=2014;
printf("(Ejemplo: 1994) Ingresa tu a%co de
nacimiento: \n",164);
scanf("%d", &fecdn);
edad=actual-fecdn;
printf("Tienes %d a%cos.", edad,164);
getch();
}

XXXXXXXXXXXXXXXXXXXXXXX
#include<stdio.h>
#include <stdio.h>
#include <conio.h>
//Comunidad Parcerosunicesar
//programacion I
//semestre: 2014-2
main()
{
int fnac,fact,edad;
printf ("Introduce tu a%co de nacimiento:",164);
scanf ("%d",&fnac);
printf ("\nIntroduce el a%co actual:",164);
scanf ("%d",&fact);
edad=fact-fnac;
printf ("\nTu edad es:%d",edad);
getch();
}

You might also like