diff --git a/BotellasFrigo.dat b/BotellasFrigo.dat index e69de29..2236c6e 100644 Binary files a/BotellasFrigo.dat and b/BotellasFrigo.dat differ diff --git a/MenuComidas.dat b/MenuComidas.dat new file mode 100644 index 0000000..24a6c04 Binary files /dev/null and b/MenuComidas.dat differ diff --git a/bin/Debug/tmphotel.exe b/bin/Debug/tmphotel.exe index 2e6d6eb..3ee81ca 100644 Binary files a/bin/Debug/tmphotel.exe and b/bin/Debug/tmphotel.exe differ diff --git a/botellas.c b/botellas.c index 203c197..46e8c13 100644 --- a/botellas.c +++ b/botellas.c @@ -33,6 +33,7 @@ int menuBotellas() printf("| 4 | Ordenar botellas por ID |\n"); // SELECCION printf("| 5 | Buscar Marca |\n"); printf("| 6 | Modificar Segun usuario |\n"); + printf("| 7 | Reciclar botellas retornables |\n"); printf("| 0 | Salir |\n"); printf("==========================================\n"); printf("Su decision: "); @@ -66,6 +67,13 @@ int menuBotellas() ModificarSegunUsuario(Arch, idTemporal); break; + case 7: + ReciclarBotellas(Arch); + + break; + + + case 0: printf("Opción inválida. Por favor, ingrese nuevamente.\n"); break; @@ -395,4 +403,31 @@ void ModificarSegunUsuario(char nombre[], int id) } } +void ReciclarBotellas(char nombre[]) { + FILE* Archi; + Archi = fopen(nombre, "r+b"); + int idRetorn; + botellita Temp; + Pila Recicable; + inicpila(&Recicable); + + if (Archi != NULL) { + while (fread(&Temp, sizeof(botellita), 1, Archi) > 0) { + printf("Ingrese el id de la botella que desea retornar (0 para salir):\n"); + scanf("%d", &idRetorn); + + if (idRetorn == 0) { + break; // Salir del bucle si se ingresa 0 + } + + if (Temp.id == idRetorn && Temp.retornable == 0) { + apilar(&Recicable, Temp.id); + } + } + + mostrar(&Recicable); + fclose(Archi); + } +} + diff --git a/botellas.h b/botellas.h index 2b29912..5bf11d1 100644 --- a/botellas.h +++ b/botellas.h @@ -21,6 +21,7 @@ void ordenarBotellasPorID(char nombre[]); void buscarBotellasPorMarca(char nombre[], const char* marcaBuscada); int verificarIDExistente(char nombre[], int id); void ModificarSegunUsuario(char[], int); +void ReciclarBotellas(char[]); diff --git a/comidas.c b/comidas.c new file mode 100644 index 0000000..281c9bf --- /dev/null +++ b/comidas.c @@ -0,0 +1,147 @@ +#include +#include +#include "comidas.h" + +const char ArchC[]="MenuComidas.dat"; + + +int menuComidas() +{ + int op=0; + char decision; + + do + { + printf("==========================================\n"); + printf("| Menu comidas |\n"); + printf("==========================================\n"); + printf("| Opcion | Descripcion |\n"); + printf("===========================================\n"); + printf("| 1 | Agregar comidas |\n"); + printf("| 2 | Mostrar comidas |\n"); + printf("| 3 | Elegir comidas |\n"); + printf("| 4 | Cambiar menu |\n"); + printf("| 5 | Buscar comida |\n"); + printf("| 0 | Salir |\n"); + printf("==========================================\n"); + printf("Su decision: "); + scanf("%i", &op); + + switch (op) + { + case 1: + CargarAlimentosArchivo(ArchC, MATRIZ_F ); + break; + case 2: + + break; + case 3: + + break; + case 4: + + break; + + case 0: + printf("Opción inválida. Por favor, ingrese nuevamente.\n"); + break; + + } + + printf("Seguir ejecutando? (s/n): "); + fflush(stdin); + scanf(" %c", &decision); + } + while (decision == 's'); + + + return 0; +} + + +int CargarAlimentos(Alimento Alimentos[][MATRIZ_S], int dimF) +{ + int f=0; + char op='s'; + + while (f < dimF && op == 's') + { + printf("Ingrese la comida: "); + fflush(stdin); + gets(Alimentos.comida[]); + + printf("Ingrese el postre: "); + fflush(stdin); + gets(Alimentos.postre[f]); + + printf("Ingrese la fruta: "); + fflush(stdin); + gets(Alimentos.fruta[f]); + + printf("Deseas seguir cargando alimentos (s/n)? "); + fflush(stdin); + scanf(" %c", &op); + + f++; + } + + return f; +} + +void mostrarAlimentos(Alimento Alimentos, int validos) +{ + int f=0; + + for(f=0;f // Libreria para usleep (retraso en microsegundos) #include "linkdepago.h" #include "botellas.h" +<<<<<<< HEAD +#include "comidas.h" +======= #include "empleados.h" <<<<<<< HEAD #include "porLimpiar.h" ======= #include "preguntarDNI.h" >>>>>>> 58d32f6160dc9bdee81f4bf67edee4af5402a548 +>>>>>>> 970716e684cb5c50e4ac4eefaf7f02c2d71f30ec void inicioSesion(); void limpiarPantalla(); @@ -73,7 +77,7 @@ void inicioSesion() { break; case claveRecepcionista: printf(colorAmarillo "=== MENU RECEPCIONISTA ===\n" reiniciarColor); - menuBotellas(); + menuComidas(); break; case claveLimpieza: printf(colorAmarillo "=== MENU LIMPIEZA ===\n" reiniciarColor); diff --git a/obj/Debug/botellas.o b/obj/Debug/botellas.o index 8a676bd..b92bbf2 100644 Binary files a/obj/Debug/botellas.o and b/obj/Debug/botellas.o differ diff --git a/obj/Debug/comidas.o b/obj/Debug/comidas.o new file mode 100644 index 0000000..9407bc6 Binary files /dev/null and b/obj/Debug/comidas.o differ diff --git a/obj/Debug/linkdepago.o b/obj/Debug/linkdepago.o index c9e3d61..468ceac 100644 Binary files a/obj/Debug/linkdepago.o and b/obj/Debug/linkdepago.o differ diff --git a/obj/Debug/main.o b/obj/Debug/main.o index e5234bf..4f8fffe 100644 Binary files a/obj/Debug/main.o and b/obj/Debug/main.o differ diff --git a/obj/Debug/pila.o b/obj/Debug/pila.o index 119d996..5d7da79 100644 Binary files a/obj/Debug/pila.o and b/obj/Debug/pila.o differ diff --git a/obj/Debug/reservas.o b/obj/Debug/reservas.o index 057df2d..25aa404 100644 Binary files a/obj/Debug/reservas.o and b/obj/Debug/reservas.o differ diff --git a/obj/Debug/tiempo.o b/obj/Debug/tiempo.o index 8eda44d..b08ba4f 100644 Binary files a/obj/Debug/tiempo.o and b/obj/Debug/tiempo.o differ diff --git a/tmphotel.cbp b/tmphotel.cbp index aaca7f4..62e9e44 100644 --- a/tmphotel.cbp +++ b/tmphotel.cbp @@ -35,6 +35,10 @@