-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.c
More file actions
executable file
·104 lines (103 loc) · 3.77 KB
/
main.c
File metadata and controls
executable file
·104 lines (103 loc) · 3.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
// Directivas
#include "funciones.h"
#include "colaCircular.h"
#include "pila.h"
int main()
{
int N_menu, i;
char catalogoIngredientes[12][Max_len_str] = {"Masa", "Tomate", "Queso", "Peperoni", "Aceitunas", "Cebolla", "Pimiento", "Jamon", "Salami", "Chorizo", "Tocino", "Pinia"};
system("clear");
do
{
printf("Cuantas pizzas quiere guardar? ");
scanf("%i", &N_menu);
} while (N_menu < 1);
Pizza arreglo_pizzas[N_menu];
crear_menu(N_menu, arreglo_pizzas, catalogoIngredientes);
system("clear");
ColaCircular *colaC;
Cliente *temporal = NULL;
colaC = crearColaCircular();
int n_orden = 0, ciclo = 1;
while (!validarVacioCC(*colaC) || temporal != NULL || ciclo)
{
system("clear");
sleep(1);
srand(time(0));
if (rand() % 3 != 0 && validarEspacioCC(*colaC) && ciclo)
{ // Registrar cliente
menu(N_menu, arreglo_pizzas, catalogoIngredientes);
llenar_cliente(colaC, N_menu, arreglo_pizzas, n_orden);
if (!validarVacioCC(*colaC) || temporal != NULL)
{
printf("\n\n---------------------------------------------\n");
printf("Pendientes: \n");
if (temporal != NULL)
printf("\nNo. orden: %i\tPizzas pendientes: %i\n", temporal->orden, temporal->cantidad);
listarCC(*colaC);
printf("---------------------------------------------\n");
sleep(3);
}
else
printf("\nNo hay pendientes\n");
printf("\n");
n_orden++;
}
if (!validarVacioCC(*colaC) || temporal != NULL)
{ // preparar pizza
printf("Cocina\n");
if (temporal == NULL)
temporal = borrar(colaC);
if (temporal != NULL)
{
printf("\nOrden: %i", temporal->orden);
printf("\nPreparando pizza: %s", arreglo_pizzas[pop(temporal->pila) - 1].nombrePizza);
temporal->cantidad--;
}
if (temporal->cantidad == 0)
{
printf("\nPedido: %i terminado y entregado", temporal->orden);
temporal = NULL;
if (!validarVacioCC(*colaC))
{
temporal = borrar(colaC);
printf("\nOrden: %i", temporal->orden);
}
}
if (temporal != NULL)
{
printf("\nPreparando pizza: %s", arreglo_pizzas[pop(temporal->pila) - 1].nombrePizza);
temporal->cantidad--;
if (temporal->cantidad == 0)
{
printf("\nPedido: %i terminado y entregado", temporal->orden);
temporal = NULL;
}
}
printf("\n\n---------------------------------------------");
if (!validarVacioCC(*colaC) || temporal != NULL)
{
printf("\nPendientes:\n");
if (temporal != NULL)
printf("\nNo. orden: %i\tPizzas pendientes: %i\n", temporal->orden, temporal->cantidad);
listarCC(*colaC);
printf("---------------------------------------------\n");
sleep(3);
}
else
printf("\nNo hay pendientes\n");
}
if (ciclo == 1)
{
do
{
printf("\nQuiere aceptar mas clientes? (1/0)");
scanf("%i", &ciclo);
} while (ciclo != 0 && ciclo != 1);
}
}
sleep(3);
system("clear");
printf("Se termino el sevicio");
return 0;
}