Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/09/2006, 07:07
MaxExtreme
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 1 mes
Puntos: 17
Cita:
Iniciado por El_Metallick Ver Mensaje
ya lo solucione... despues de tomarme un cafe y fumarme un cigarro se me ocurrio la solución...

PD: MaxExtreme gracias por "retarme"... de verdad que estaba copiando, pegando y modificando funciones anteriores sin analisar mucho lo que hacia... encontre varios errores similares al analisar las cosas...
¿Ves? Puedes encontrar la solución tu mismo ;)

Aún así, te diré que aunque te funcione un programa, no significa que esté del todo bien. Esto es importante si el programa es para un proyecto serio, o para que te lo evalúen en la universidad.

El profesor va a contarte, aparte de que funcione:

1. Que no haya memory leaks
2. La claridad
3. La estabilidad ante entradas de datos incorrectas
4. ...

Lo peor de todo es que hay programas que lo hacen solos, los profesores se limitan a usar otro programa para que analize el tuyo.

Te diré:

1. void ModificarArriendo(struct Arriendo **CabezaArriendo);

De verdad, _muy_ pocas veces vas a necesitar un doble puntero, si no es nunca. No entiendo porque usas un doble puntero ahí. Es fuente constante de errores si no sabes muy bien lo que haces.

En cualquier caso, ¿por qué lo usas? No tienes necesidad.

2. strftime() ¿Qué es eso? ¿Es una función tuya? Si no lo es, te diré que puedes formatear el tiempo usando funciones ANSI C.

3. No te hace falta la variable local "Modificar". Puedes usar CabezaArriendo para recorrer la lista.

4. Puedes escribir un for en vez de un while:

for(;CabezaArriendo!=NULL;CabezaArriendo=CabezaArr iendo->next) {