SoloCodigo
		Programación General => C/C++ => Mensaje iniciado por: Pakete en Martes 14 de Mayo de 2002, 22:34
		
			
			- 
				Hola a todos,ahi va mi duda:
 Estoy usando en c la funcion getdate(&fecha) para almacenar la fecha del sistema en la variable de tipo struct date   fecha.Esta a su vez se compone de da_year,da_mon,da_day.
 Pos weno, si yo kiero almacenar en otra variabale tipo struct date ,como por ejemplo fecha futura,la misma fecha pero incrementarlke 7 dias,ke debia hacer????
 
 Lo ke busco es una solucion facil,ya se ke se le puede sumar 7 a fecha.da_day,pero habria ke controlar ke fiese menor ke 31,si fuese mayor ke 31 sumarle 1 al  mes...
 ke probablemente es lo ke tendre ke hacer preo weno...
 ai alguien sabe algo de esto ke me ayude por favor.
 
 En resumen,lo ke kerria hacer es algo asi como: fecha de hoy: getdate(&fecha)
 fecha de hoy + 12 dias: y en creia ke debia ser getdate(&fechafutura)+12,pero asi no es
 
 Gracias
- 
				hola pakete.
 
 Me parece que no te queda mas remedio que tener que sumarle 7 al dia y controlar q no pase de 31 y esas cosas.
 
 Lo que si podrias hacer es una cosa. Hacerlo en C++. Son los mismos codigos que en C (todo lo que lleves hecho hasta ahora te debe compilar igual) pero ademas tienes el concepto de sobrecarga de operadores. Puedes sobrecargar el operador + o el operador += para asi no tener q andar siempre comprobando.
 
 fecha& operator+(fecha& a, int& b)
 {
 if (da_day = a.da_day + b) > 31
 {
 if (da_mon<12) da_mon++;
 else
 {
 da_mon = 1;
 da_year++;
 }
 }
 
 Todo esto metelo en una clase (struct con funciones) donde contenga las variables da_mon, da_year y da_day.
 
 class fecha
 {
 int da_mon;
 int da_year;
 int da_day;
 public:
 ... // aqui irian los constructores, destructores y demas operadores y funciones miembro.
 fecha& operator+(fecha& a, int& b)
 }
 
 Esto te ira bien para poderlo utilizar tal que asi:
 
 void main()
 {
 fecha x;
 getdate(&x);
 x = x + 7;
 }
 
 Pero no se si la funcion getdate() ya que no la conozco, te aceptara como parametro eso. Espero que te funcione.
 
 Saludos.
- 
				O no entiendo bien la duda, pero creo que algo tan sencillo como el código fuente que adjunto resuelve el problema:)
 Saludos
 
 Ismael