Advertisement
idsystems

SLE_Practica54_Tortilleria

Jun 24th, 2024
454
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.48 KB | None | 0 0
  1.  
  2. /* En una tortillería se forman los clientes (20 maximo, utilizar nombre del cliente)
  3.    que van llegando para ser atendidos por dos personas las cuales van atendiendo uno y uno.
  4.    Mediante las operaciones de una cola, simular la llegada y atención de los clientes,
  5.    almacenando el numero de cliente que fue atendido por cada persona, con base en un menú:
  6.  
  7.    a.   Formar
  8.    b.   Atender
  9.    c.   Desplegar clientes
  10.    d.   Salir
  11.  
  12.    La función ATENDER permite asignar a cada persona un cliente.
  13.    DESPLEGAR CLIENTES debe desplegar los clientes de cada persona (2 colas)
  14. */
  15.  
  16.  
  17. // Declaración de Variables
  18. var
  19.     cola: vector[20] cadena  // Arreglo para simular la cola de clientes
  20.     atendidos1: vector[20] cadena  // Arreglo para clientes atendidos por la persona 1
  21.     atendidos2: vector[20] cadena // Arreglo para clientes atendidos por la persona 2
  22.     frente, final: numerico
  23.     frente1, final1: numerico
  24.     frente2, final2: numerico
  25.     cliente: cadena
  26.     opcion: numerico
  27.     turno, i: numerico
  28.  
  29. inicio
  30.    cls()
  31.     // Inicialización de la Cola
  32.     frente = 1
  33.     final = 1
  34.     frente1 = 1
  35.     final1 = 1
  36.     frente2 = 1
  37.     final2 = 1
  38.     turno = 1
  39.  
  40.     repetir
  41.         // Mostrar Menú
  42.         imprimir("\nMenú:")
  43.         imprimir("\n1. Formar")
  44.         imprimir("\n2. Atender")
  45.         imprimir("\n3. Desplegar clientes")
  46.         imprimir("\n4. Salir")
  47.         imprimir("\nSeleccione una opción:")
  48.         leer(opcion)
  49.  
  50.         eval {
  51.             caso (opcion == 1)
  52.                 // Formar un cliente
  53.                 si (final < 20) {
  54.                     imprimir("\nIngrese el nombre del cliente:")
  55.                     leer(cliente)
  56.                     cola[final] = cliente
  57.                     final = final + 1
  58.                     imprimir("\nCliente " + cliente + " formado.")
  59.                 sino
  60.                     imprimir("\nLa cola está llena.")
  61.                 }
  62.             caso (opcion == 2)
  63.                 // Atender un cliente
  64.                 si (frente <> final) {
  65.                     cliente = cola[frente]
  66.                     frente = frente + 1
  67.                     si (turno == 1) {
  68.                         atendidos1[final1] = cliente
  69.                         final1 = final1 + 1
  70.                         turno = 2
  71.                      sino
  72.                         atendidos2[final2] = cliente
  73.                         final2 = final2 + 1
  74.                         turno = 1
  75.                     }
  76.                     imprimir("\nCliente " + cliente + " atendido.")
  77.                     // Si la cola está vacía, restablecer
  78.                     si (frente == final) {
  79.                         frente = 1
  80.                         final = 1
  81.                     }
  82.                 sino
  83.                     imprimir("\nNo hay clientes en la cola.")
  84.                 }
  85.             caso (opcion == 3)
  86.                 // Desplegar clientes atendidos por cada persona
  87.                 imprimir("\nClientes atendidos por la persona 1:")
  88.                 desde i = 1 hasta final1 - 1 {
  89.                     imprimir(atendidos1[i]," - ")
  90.                 }
  91.                 imprimir("\nClientes atendidos por la persona 2:")
  92.                 desde i = 1 hasta final2 - 1 {
  93.                     imprimir(atendidos2[i], " - ")
  94.                 }
  95.             caso (opcion == 4)
  96.                 imprimir("\n\nSaliendo del programa.")
  97.             sino
  98.                 imprimir("\nOpción no válida.")
  99.         }
  100.     hasta (opcion == 4)
  101.  
  102. fin
  103.  
  104.  
  105.  
  106.  
Tags: Colas
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement