Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/10/2007, 07:21
leojava2007
 
Fecha de Ingreso: octubre-2007
Mensajes: 29
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Ayuda urgente con programa sobre listas en c

Hola! la verdad que el tema de manejo de listas al principio es complicado por los descuidos que uno comete con los punteros, tene cuidado que no haya ninguno que este 'descontrolado'. En una lista siempre vas a agregar un nuevo nodo, eliminar un nodo y podrias llegar a usar un metodo que te permita modificar los datos del algun nodo espicifico en la lista. La lista siempre va a estar ordenada segun algun criterio especifico segun las necesidades del usuario(que en tu caso seria de mayor a menor por el importe que cada cliente deposita), y por lo tanto, el metodo que agrega un nodo nuevo (que en tu caso se llamaria 'agregarCliente') tendria que manejar este ordenamiento, de tal manera que la lista siempre este ordenada. Tene en cuenta que esto es algo conceptual, porque si no hay un orden, para que usas una lista, usa un pila donde vos "tiras" los nodos como vienen, o usa alguna otra estructura que sea conveniente. Ademas, en este metodo 'agregarCliente' tendrias que considerar la hora de llegada de tal forma que si llegan despues del cierre directamente ni los insertas en la lista. Una vez que el cliente es atendido y hace su deposito, se lo elimina de la fila (o lista). Con respecto a esto, como la lista esta ordenada, podrias tener un puntero 'clienteAtendido' que siempre apunte al primer nodo en la lista (que seria el que tiene el mayor monto de dinero a depositar, y segun el enunciado, es el que se despacha primero), de esa manera, cada vez que el atienda a un cliente ese puntero 'clienteAtendido' ya te indica quien es el proximo y sabes a quien tenes que eliminar en cada caso. Por ultimo, te dice que la hora de cierre se conoce, pero no te dice cual es. Con lo cual, el programa que vos hagas tendrias que poder configurarse mediante un parametro con la hora de cierre. Este parametro podria ser pasado por ejemplo por linea de comando si vos haces un programa comando, o podrias tener un archivo de configuracion con la hora de cierre, y cada vez que el programa se inicia, abre el archivo, lee la hora, la almacena en una variable del programa y luego se cierra el archivo. Espero haber sido de ayuda. Saludos!