[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