Skip to content

Commit

Permalink
Merge pull request #29 from soypato/desarrollonacho
Browse files Browse the repository at this point in the history
Implementacion de matriz comidas.c Version estable
  • Loading branch information
iMonety committed Jun 22, 2023
2 parents f3ef7d0 + f53383b commit 06395ad
Show file tree
Hide file tree
Showing 10 changed files with 288 additions and 55 deletions.
Binary file removed bin/Debug/tmphotel.exe
Binary file not shown.
214 changes: 179 additions & 35 deletions comidas.c
Original file line number Diff line number Diff line change
@@ -1,16 +1,189 @@
#include <stdio.h>
#include <string.h>
#include "tipoUsuario.h"
#include "comidas.h"

#define MAX_COMIDAS 10
#define MAX_LONGITUD 50
#define MAX_DESCRIPCION 200
const char ArchC[]="Comidas.dat";

int op=0;
char decision;
char Comidas[15][MATRIZ_C];

int menuComidas()
{
do
{
printf("|==========================================|\n");
printf("| Menu |\n");
printf("|==========================================|\n");
printf("| Opcion | Descripcion |\n");
printf("|==========================================|\n");
printf("| 1 | Cargar comidas |\n");
printf("| 2 | Mostrar comidas |\n");
printf("| 3 | Verificar Si existe comida |\n");
printf("| 0 | Salir |\n");
printf("|==========================================|\n");
printf("Su decision: ");
scanf("%i", &op);

switch (op)
{
case 1:
CargarComidasArchivo(ArchC, Comidas, 5);
break;
case 2:
mostrarComidasArchivo(ArchC, Comidas);
break;
case 3:
VerificarSiExisteComidas(ArchC, Comidas);
break;
case 0:
inicioSesion();
break;
}

printf("Seguir ejecutando? (s/n): ");
fflush(stdin);
scanf(" %c", &decision);
}
while (decision == 's');

return 0;
}

int CargarComidas(char Comidas[][MATRIZ_C], int dimF)
{
int f=0;

for(f=0; f<dimF; f++)
{
printf("Ingresar las comidas\n");
fflush(stdin);
gets(Comidas[f]);
}
return f;
}


void mostrarComidas(char Comidas[][MATRIZ_C], int validos)
{
int f =0;

puts("|------------------------|");
for(f=0; f<validos; f++)
{

printf("Comidas: %s\n", Comidas[f]);
}
puts("|------------------------|");
}

void CargarComidasArchivo(char nombre[], char Comidas[][MATRIZ_C], int dimF )
{
FILE* Archi;
Archi = fopen(nombre, "wb");
int validos=0;

if(Archi!=NULL)
{
validos = CargarComidas(Comidas, dimF);
fwrite(&validos, sizeof(int), 1, Archi);
fwrite(Comidas, sizeof(char), validos * MATRIZ_C, Archi);
fclose(Archi);
}
}

void mostrarComidasArchivo(char nombre[], char Comidas[][MATRIZ_C])
{
FILE* Archi;

Archi = fopen(nombre, "rb");

int validos=0;

if(Archi!=NULL)
{
fread(&validos, sizeof(int), 1, Archi);
fread(Comidas, sizeof(char), validos * MATRIZ_C, Archi);
fclose(Archi);

mostrarComidas(Comidas, validos);
}
}


void VerificarSiExisteComidas(char nombre[], char Comidas[][MATRIZ_C])
{

FILE* Archi;

Archi = fopen(nombre, "rb");

int flag = 0;
char NombreBuscar[30];

printf("Ingrese la comida que desea buscar\n");
fflush(stdin);
gets(NombreBuscar);

if(Archi!=NULL)
{
int validos=0;
fread(&validos, sizeof(int), 1, Archi);

for(int i = 0; i < validos && flag == 0; i++)
{
fread(Comidas[i], sizeof(char), MATRIZ_C, Archi);
if(strcmp(Comidas[i], NombreBuscar) == 0)
{
flag=1;
}
}
fclose(Archi);
}

if(flag==1)
{
printf("El nombre de la comida %s existe.\n", NombreBuscar);
}
else
{
printf("El nombre de la comida %s NO existe.\n", NombreBuscar);
}
}




























/*
void imprimirMatriz(char menu[][MAX_LONGITUD], char descripcion[][MAX_DESCRIPCION], int numComidas)
{
printf("MENU DE COMIDAS\n");
printf("---------------\n");

for (int i = 0; i < numComidas; i++)
{
printf("Comida: %s\n", menu[i]);
Expand All @@ -19,37 +192,7 @@ void imprimirMatriz(char menu[][MAX_LONGITUD], char descripcion[][MAX_DESCRIPCIO
}
}
void copiarComidas()
{
char menu[MAX_COMIDAS][MAX_LONGITUD] = {""};
char descripcion[MAX_COMIDAS][MAX_DESCRIPCION] = {""};


strcpy(menu[0], "Pizza");
strcpy(descripcion[0], "Deliciosa pizza recién horneada con una variedad de ingredientes.");
strcpy(menu[1], "Hamburguesa");
strcpy(descripcion[1], "Sabrosa hamburguesa jugosa con carne a la parrilla y acompañamientos.");
strcpy(menu[2], "Ensalada");
strcpy(descripcion[2], "Ensalada fresca y saludable con una mezcla de vegetales y aderezo.");
strcpy(menu[3], "Sushi");
strcpy(descripcion[3], "Rollos de sushi elaborados con pescado fresco y arroz aderezado.");
strcpy(menu[4], "Pasta");
strcpy(descripcion[4], "Plato de pasta al dente con salsa de tomate o crema, acompañado de queso.");
strcpy(menu[5], "Tacos");
strcpy(descripcion[5], "Tortillas de maíz rellenas de carne, pollo, o vegetales, con salsa y guarniciones.");
strcpy(menu[6], "Pollo asado");
strcpy(descripcion[6], "Pollo jugoso asado con especias y acompañado de papas o ensalada.");
strcpy(menu[7], "Sopa");
strcpy(descripcion[7], "Sopa caliente y reconfortante con una mezcla de ingredientes y caldo.");
strcpy(menu[8], "Sandwich");
strcpy(descripcion[8], "Sándwich hecho con pan fresco y relleno de ingredientes variados.");
strcpy(menu[9], "Ramen");
strcpy(descripcion[9], "Plato de fideos japoneses en caldo sabroso con carne, huevo y vegetales.");
strcpy(menu[9], "Huevo");
strcpy(descripcion[9], "Desayuna con huevo!!.");

imprimirMatriz(menu, descripcion, MAX_COMIDAS);
}
int menuComidas()
{
Expand All @@ -62,3 +205,4 @@ int menuComidas()
}
return 0;
}
*/
14 changes: 9 additions & 5 deletions comidas.h
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
#ifndef COMIDAS_H
#define COMIDAS_H

#define MAX_COMIDAS 20
#define MAX_LONGITUD 50
#define MAX_DESCRIPCION 100
#define MATRIZ_C 70

void imprimirMatriz(char menu[][MAX_LONGITUD], char descripcion[][MAX_DESCRIPCION], int numComidas);
void copiarComidas();
int CargarComidas(char[][MATRIZ_C], int);
void mostrarComidas(char[][MATRIZ_C], int);
void CargarComidasArchivo(char[], char[][MATRIZ_C], int);
void mostrarComidasArchivo(char[], char[][MATRIZ_C]);
void VerificarSiExisteComidas(char[], char[][MATRIZ_C]);


int menuComidas();

#endif
Binary file added comidas.o
Binary file not shown.
1 change: 1 addition & 0 deletions main.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#include "porLimpiar.h"
#include "preguntarDNI.h"
#include "tipoUsuario.h"
#include "admin.h"

void inicioSesion();
void limpiarPantalla();
Expand Down
Binary file added obj/Debug/admin.o
Binary file not shown.
Binary file modified obj/Debug/comidas.o
Binary file not shown.
Binary file modified obj/Debug/main.o
Binary file not shown.
Loading

0 comments on commit 06395ad

Please sign in to comment.