Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda urgente con programa sobre listas en c

Estas en el tema de Ayuda urgente con programa sobre listas en c en el foro de C/C++ en Foros del Web. Hola!! Soy nueva por aca, me llamo Belen y necesito ayuda de como realizar este programa utilizando listas dobelemete vinculadas. Si bien he realizado algo ...
  #1 (permalink)  
Antiguo 16/10/2007, 08:56
 
Fecha de Ingreso: octubre-2007
Mensajes: 1
Antigüedad: 17 años, 2 meses
Puntos: 0
Sonrisa Ayuda urgente con programa sobre listas en c

Hola!! Soy nueva por aca, me llamo Belen y necesito ayuda de como realizar este programa utilizando listas dobelemete vinculadas.
Si bien he realizado algo del programa no me funciona de manera correcta por lo que escuho ideas
Si desean contactarme mi mail es [email protected]

El problema es el siguiente:
Un banco ubicado en un cierto sector peligroso de la ciudad, ha implementado un esquema de atención a clientes que lleguen a hacer depósitos, basado en las siguientes pautas: el banco cierra sus puertas indefectiblemente a cierta hora (que se conoce). Los clientes que hayan llegado al banco para hacer un deposito antes de esa hora, podrán esperar dentro del mismo, haciendo una fila hasta que sean atendidos en ventanilla, Ningún cliente abandona el banco sin realizar el deposito que quería hacer, para evitar ser asaltado en el exterior. Los clientes que lleguen después de esa hora de cierre, no serán admitidos al interior del banco, y por lo tanto, no podrán acceder a la fila de espera para depositar. Cada cliente trae cierta suma de dinero, cuyo importe se conoce. En la ventanilla, por razones de seguridad, se atiende primero al cliente de la fila que tenga el mayor monto a depositar.
Se pide diseñar las estructuras de datos necesarias para representar a esa fila de espera, considerando que por cada cliente se debe almacenar la hora a la que llego al banco, y el importe que trajo consigo.
La hora de cierre del banco es un dato que el programa debe manejar. Desarrollar un programa controlado por menú que permita utilizar adecuadamente las estructuras diseñadas: agregar un cliente, consiste en tomar como parámetro la hora de llegada de un cliente, y el importe que va a depositar, y sumar ese cliente a la fila, pero solo si la hora de llegada que entra como parámetro es menor a la hora de cierre del banco (que se conoce). Atender a un cliente equivale a eliminar de la fila al cliente que tenga mayor importe para depositar.


Agradecería su ayuda!
  #2 (permalink)  
Antiguo 16/10/2007, 11:17
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 8 meses
Puntos: 17
Re: Ayuda urgente con programa sobre listas en c

¿Cómo de urgente es? ¿Para dentro de 5 minutos o de 10?
  #3 (permalink)  
Antiguo 16/10/2007, 13:17
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 7 meses
Puntos: 74
Re: Ayuda urgente con programa sobre listas en c

Mierda, ya llevamos retraso
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #4 (permalink)  
Antiguo 16/10/2007, 21:32
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 18 años, 7 meses
Puntos: 28
Re: Ayuda urgente con programa sobre listas en c

Imagino que con este van 8 o 9...instru es quien lleva la cuenta...
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
  #5 (permalink)  
Antiguo 17/10/2007, 07:21
 
Fecha de Ingreso: octubre-2007
Mensajes: 29
Antigüedad: 17 años, 2 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!
  #6 (permalink)  
Antiguo 17/10/2007, 22:06
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años, 1 mes
Puntos: 52
Re: Ayuda urgente con programa sobre listas en c

Vale que si lo puedes hacer.
Mejor pon una duda mas especifica que tengas.

Por cierto la cuenta anda entre 7 y 8 ya que de repente unos regresan a reclamar.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:25.