[C con Clase] class fecha
wolf
wolverine_ch en hotmail.com
Vie Feb 25 05:02:02 CET 2011
pues basandome en tu ejemplo ya hice todo con el pequeño(y frustrante) detalle
de que la funcion gmtime me muestra una fecha constante por mas que le sume
diferentes numeros siempre me muestra el 1 de enero de 1970. :-s
bueno aqui te dejo lo que pude hacer espero tu punto de vista
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
#include<time.h>
class fecha{
int dia;
int mes;
int anio;
public:
fecha(){ dia=1;mes=1;anio=1900;}//constructor
void presenta();
void sumadias(int dias); //sin implementar
};
void fecha::presenta(){
cout<<"\n Mostrando fecha "<<"\n\n";
cout<<"Dia: "<<dia<<"\n\n";
cout<<"Mes : "<<mes<<"\n\n";
cout<<"Anio : "<<anio<<"\n\n";
}
void fecha::sumadias(int dias)
{
time_t fechaensegundos;
struct tm fech;
fech.tm_mday = dia;
fech.tm_mon = (mes -1);
fech.tm_year = (anio-1900);
cout <<"\nfecha actual es: "<< fech.tm_mday << "/" << fech.tm_mon+1 << "/" << fech.tm_year+1900 << "\n";
fechaensegundos = mktime(&fech);//convierte la fecha en segundos
fechaensegundos+= (dias*24*60*60); //suma
cout << "\nluego de sumar "<<dias<<" dias :" ;
fech = *gmtime(&fechaensegundos);
cout<< fech.tm_mday << "/" << fech.tm_mon+1 << "/" << (fech.tm_year+1900) << "\n";
getch();
}
main(){
fecha F;
clrscr();
F.presenta();
F.sumadias(9);
getch();
return 0;
}
//probado en turbo C 3.0 con cero errores
Más información sobre la lista de distribución Cconclase