[C con Clase] class fecha

wolf wolverine_ch en hotmail.com
Jue Feb 24 21:56:09 CET 2011


entiendo lo del time no lo habia tomado en cuenta ya que no se mucho de esta libreria , bueno en el caso de que yo trabajara con el time.h hasta donde yo se esta libreria solo funciona para fechas y horas "actuales" y mi clase se supone que tiene una fecha determinada por el usuario , como lo relacionaria con time me podrian explicar?

lo que tengo por el momento son las validaciones para los meses y para determinar si el año es bisiesto miren:

#include<stdio.h>
#include<iostream.h>
#include<conio.h>



 int dias_de_cada_mes[12] = {31,29,31,30,31,30,31,31,30,31,30,31}; //vector q contiene los dias de cada mes 



 int esbisiesto(int anio)  

 {  

    if((a%4==0) && ((a%100!=0)||(a%400==0)))
         return 1;  

     else 
	   return 0  
 } 


 /*un año es bisiesto si es divisible por 4, 
excepto el último de cada siglo (aquellos divisibles por 100), 
que para ser bisiestos, también deben ser divisibles por 400.*/

class fecha{

	 int dia;
	 int mes;
	 long int anio;

public:

	 fecha(){ dia=1;mes=1;anio=1900;}//constructor

	void lee();
	void presenta();

    void setdia(int d){

		 dia = d;


	}
	void setmes(int m){

			 mes = m;
	void setanio(int a){

			 anio=a;
	}

	int getdia(){return dia;}
	int getmes(){return mes ;}
	int getanio(){return anio;}

	int validafecha( int , int, int );

     fecha::sumadias(int dias) //sin implementar

};






	int fecha::validafecha( int dd, int mm, int aa)  

 {  


   

     if(dd<=0||dd>31) return 0;  

     if(mm<=0||mm>12) return 0;  

     if(mm==2 && dd>29) return 0; //para febrero
	 
	 if(aa<=1900) return 0;

     if(dias_de_cada_mes[mm-1]<dd) return 0;//para los meses que tienen 30 dias  

     if(m==2 && d==29 && !esbisiesto(aa)) return 0;//para feb:"si ingreso el dia 29 ,el año que ingrese tiene que ser bisiesto"  

     return 1;  

    

 }  

void fecha::lee(){

	do{
 cout<<"\n    Registro de fecha\n\n";
 cout<<"Ingrese dia\n";
 cin>>dia;
 cout<<"Ingrese mes\n";
 cin>>mes;
  cout<<"Ingrese anio\n";
  cin>>anio;

   } while(validafecha(dia,mes,anio)!=1);  


 }



 void fecha::presenta(){
  cout<<"\n   Mostrando fecha "<<"\n\n";
	cout<<"Dia: "<<dia<<"\n\n";
	cout<<"Mes : "<<mes<<"\n\n";
      cout<<"Anio : "<<anio<<"\n\n";

 }


que me proponen ....


saludos


Más información sobre la lista de distribución Cconclase