Ejercicio11

Ejercicio11

de Pedro Manuel Carreras Salaberry -
Número de respuestas: 2

Buenas tardes, hice una solucion al ejercicio pero tengo varias dudas. 

La inicializacion y definicion:

imagen%20%283%29.png

imagen%20%282%29.png

Primero no me queda del todo claro como hacer para pasar el id del vendedor al supervisor sin usar funciones auxiliares o algo parecido. Me quedo asi el supervisor :

imagen%20%281%29.png

Luego, cuando el cliente usa la funcion de enviar_pedido_pagar_y_recibir_pedido() asumo que el vendedor sabe a quien le da el pedido una vez elaborado. Cliente me quedo asi:

imagen%20%284%29.png

Luego en vendedor, asumo que puede cobrar sin estar atendiendo, solo estando dentro de la caja, no se si en realidad tiene que recibir el pedido y cobrar inmediatamente, tampoco se si el vendedor puede tomar todos los pedidos que pueda (10) mientras esta atendiendo y luego ir a hacerlos, o si solo puede hacer uno por vez, yo asumi lo ultimo porque lo otro no se me ocurrio como hacerlo, me quedo asi:

imagen%20%285%29.png

Muchas Gracias.

En respuesta a Pedro Manuel Carreras Salaberry

Re: Ejercicio11

de Jorge Merlino -

Hola, por las dudas te aclaro que no miré todo el código en detalle. Solo te voy a contestar a las preguntas que hiciste:

  • Primero no me queda del todo claro como hacer para pasar el id del vendedor al supervisor sin usar funciones auxiliares o algo parecido
    • Podrías usar una variable global para que el vendedor ponga su id y luego el supervisor la lea. Tendrías que asegurar la mutuoexclusión para que no haya dos vendedores leyendo esto a la vez.
  • cuando el cliente usa la función de enviar_pedido_pagar_y_recibir_pedido() asumo que el vendedor sabe a quien le da el pedido una vez elaborado
    • Si, eso es parte de la función que damos, viste que las funciones del vendedor tampoco reciben nada como parámetro para saber quien es el cliente
  • asumo que puede cobrar sin estar atendiendo, solo estando dentro de la caja
    • La letra dice que solo un vendedor de los que está en la caja puede atender y eso incluye cobrar. Aunque haya dos solo puede atender uno y el otro espera a que se libere la caja.
  • no se si en realidad tiene que recibir el pedido y cobrar inmediatamente
    • Creo que es lo más razonable aunque si querés cobrar después me parece que no cambia nada suponiendo que la función enviar_pedido_pagar_y_recibir_pedido va a permanecer bloqueada hasta que se haga todo.
  • tampoco se si el vendedor puede tomar todos los pedidos que pueda (10) mientras esta atendiendo y luego ir a hacerlos, o si solo puede hacer uno por vez
    • No, la idea es que atiendan de a un cliente por vez.

Saludos