Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

version inestable de habitaciones.c #20

Merged
merged 1 commit into from
Jun 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified bin/Debug/tmphotel.exe
Binary file not shown.
156 changes: 59 additions & 97 deletions habitaciones.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,36 +7,12 @@
///HARCHIVOS
const char arcHabitaciones[30] = {"archivoHabitaciones.dat"};
const int numHabitaciones = 2;
//////////////////////////////////////////////////////////////////////////////////





int menuHabitaciones()
{
printf("================================================\n");
printf("| Menu habitaciones |\n");
printf("================================================\n");
printf("| Opcion | Descripcion |\n");
printf("================================================\n");
printf("| 1 | Cargar una habitacion |\n");
printf("| 2 | Mostrar una habitacion |\n");
printf("| 3 | Cargar habitacion archivo |\n");
printf("| 4 | Mostrar habitacion archivo |\n");
printf("| 5 | Mostrar habitacion por numero |\n");
printf("| 6 | Mostrar no ocupadas/no reservadas |\n");
printf("| 0 | Volver al menu administrador |\n");
printf("================================================\n");

menu();
return 0;
}
//////////////////////////////////////////////////////////////////////////////

///FUNCIONES

void menu()//MENU
void menuHabitaciones()//MENU
{
int ejercicio;
strHabitacion hab;
Expand All @@ -50,12 +26,24 @@ void menu()//MENU
int opcPunto6;
int validosPunto6;
int valorPunto6;



char decision = 's';

do
{
printf("================================================\n");
printf("| Menu habitaciones |\n");
printf("================================================\n");
printf("| Opcion | Descripcion |\n");
printf("================================================\n");
printf("| 1 | Cargar una habitacion |\n");
printf("| 2 | Mostrar una habitacion |\n");
printf("| 3 | Cargar habitacion archivo |\n");
printf("| 4 | Mostrar habitacion archivo |\n");
printf("| 5 | Mostrar habitacion por numero |\n");
printf("| 6 | Mostrar no ocupadas/no reservadas |\n");
printf("| 0 | Volver al menu administrador |\n");
printf("================================================\n");

printf("Su decision: ");
fflush(stdin);
scanf("%i", &ejercicio);
Expand Down Expand Up @@ -125,50 +113,53 @@ void menu()//MENU
menuEmpleados();
break;
}
printf("Seguir ejecutando? (s/n): ");
fflush(stdin);
scanf("%c", &decision);
}
while(ejercicio!=0);
}


strHabitacion strCargarHabitacion()//PUNTO 1 CARGAR UNA HABITACION
strHabitacion strCargarHabitacion() // PUNTO 1: CARGAR UNA HABITACION
{
strHabitacion aux;

printf("La habitacion esta ocupada?0=no,1=si.\n");
printf("La habitacion est� ocupada? (0 = No, 1 = Si): ");
fflush(stdin);
scanf("%i", &aux.ocupado);

printf("La habitacion esta reservada?0=no,1=si.\n");
printf("La habitacion est� reservada? (0 = No, 1 = Si): ");
fflush(stdin);
scanf("%i", &aux.reservado);


printf("Ingrese el numero de la habitacion.\n");
printf("Ingrese el n�mero de la habitacion: ");
fflush(stdin);
scanf("%i", &aux.numeroDeHabitacion);

printf("Ingrese la capacidad de huespedes.\n");
printf("Ingrese la capacidad de hu�spedes: ");
fflush(stdin);
scanf("%i", &aux.capacidadDeHuespedes);

printf("Ingrese la cantidad de ba�os de la habitacion.\n");
printf("Ingrese la cantidad de banios de la habitacion: ");
fflush(stdin);
scanf("%i", &aux.cantBanios);


printf("Tiene frigobar?0=no,1=si.\n");
printf("�Tiene frigobar? (0 = No, 1 = Si) ");
fflush(stdin);
scanf("%i", &aux.frigobar);

printf("Tiene aire acondicionado?0=no,1=si.\n");
printf("Tiene aire acondicionado? (0 = No, 1 = Si) ");
fflush(stdin);
scanf("%i", &aux.aireAcondicionado);

aux.habilitada=1;
aux.habilitada = 1;

return aux;
printf("La habitacion fue cargada satisfactoriamente. ");

return aux;
}


void auxOcupado(strHabitacion aux)//AUX OCUPADO PARA MOSTRAR HABITACIONES
{
if(aux.ocupado==0)
Expand Down Expand Up @@ -458,45 +449,34 @@ void arcCargarHabitaciones(char nombreArchi[], char opcion[])//PUNTO 3 CARGAR HA

}

void arcMostrarHabitaciones(char nombreArchivo[])//PUNTO 4 MOSTRAR LAS HABITACIONES DE UN ARCHIVO
void arcMostrarHabitaciones(char nombreArchivo[])
{
strHabitacion aux;
FILE* buffer = fopen(nombreArchivo,"rb");
FILE* buffer = fopen(nombreArchivo, "rb");

if(buffer)
if (buffer)
{


printf("Abierto\n");
fseek(buffer, 0, SEEK_END); // Mover el puntero de archivo al final
long fileSize = ftell(buffer); // Obtener el tama�o del archivo
if(fileSize == 0)
if (fileSize == 0)
{
printf("El archivo no tiene datos cargados\n");
}
else
{
printf("Entra\n");
fseek(buffer, 0, SEEK_SET);
while(fread(&aux, sizeof(strHabitacion), 1, buffer)>0)


while (fread(&aux, sizeof(strHabitacion), 1, buffer) == 1)
{
strMostrarUnaHabitacion(aux);
}


}




fclose(buffer);

}
else
{
printf("Error\n");
printf("Error al abrir el archivo\n");
}
}

Expand All @@ -510,39 +490,33 @@ int auxBuscarConEntero()//AUX CARGAR UN ENTERO PARA USAR COMO PARAMETRO
return num;
}

void arcBuscarHabitacionPorNumero(char nombreArchi[], int num)//MOSTRAR UNA HABITACION BUSCADA POR NUMERO DE HABITACION
{

void arcBuscarHabitacionPorNumero(const char nombreArchi[], int num) {
strHabitacion aux;
FILE* buffer = fopen(nombreArchi, "rb");
if (buffer)
{

printf("Abierto\n");
if (buffer != NULL) {
printf("Archivo abierto.\n");

int habitacionEncontrada = 0; // Variable para indicar si se encontr� la habitaci�n

while((fread(&aux, sizeof(strHabitacion), 1, buffer))>0)
{
if(aux.numeroDeHabitacion==num)
{
while (fread(&aux, sizeof(strHabitacion), 1, buffer) == 1) {
if (aux.numeroDeHabitacion == num) {
strMostrarUnaHabitacion(aux);
habitacionEncontrada = 1;
break; // Se encontr� la habitaci�n, no es necesario seguir buscando
}
}
if(feof(buffer)!=0)
{
printf("No se encontro la habitacion.\n");
}


if (habitacionEncontrada == 0) {
printf("No se encontr� la habitaci�n.\n");
}

fclose(buffer);
}
else
{
printf("Error\n");
} else {
printf("Error al abrir el archivo.\n");
}
}


void mostrarArregloDeStructs(strHabitacion A[], int validos)//MOSTRAR ARREGLO DE STRUCTS
{

Expand Down Expand Up @@ -570,39 +544,27 @@ strHabitacion auxBuscarHabitacionesNoOcupadasONoReservadas(strHabitacion aux, in
return resultado;
}


int arcBuscarHabitacionesNoOcupadasONoReservadas(char nombreArchi[], strHabitacion A[], int num, int numero)//PASAR LAS HABITACIONES QUE SE SOLICITEN A UN ARREGLO
{
int i=0;
int arcBuscarHabitacionesNoOcupadasONoReservadas(char nombreArchi[], strHabitacion A[], int num, int numero) {
int i = 0;
strHabitacion aux;
FILE* buffer = fopen(nombreArchi, "rb");
if(buffer)
{

if (buffer) {
printf("Abierto\n");



while((fread(&aux, sizeof(strHabitacion), 1, buffer))>0)
{
while (fread(&aux, sizeof(strHabitacion), 1, buffer) > 0) {
strHabitacion resultado = auxBuscarHabitacionesNoOcupadasONoReservadas(aux, num);
if(resultado.opcionPunto6==numero)
{
A[i]=resultado;
if (resultado.opcionPunto6 == numero) {
A[i] = resultado;
i++;

}
}

fclose(buffer);
}
else
{
} else {
printf("Error\n");
}



return i;
}

Expand Down
2 changes: 1 addition & 1 deletion habitaciones.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ int otroAuxDeCargarHabitaciones(int opc, char opcion[]);//OTRO AUX PARA CARGAR H
void arcCargarHabitaciones(char nombreArchi[], char opcion[]);//PUNTO 3
void arcMostrarHabitaciones(char nombreArchivo[]);//PUNTO 4
int auxBuscarConEntero();//AUX CARGAR UN ENTERO PARA USAR COMO PARAMETRO
void arcBuscarHabitacionPorNumero(char nombreArchi[], int num);//MOSTRAR UNA HABITACION BUSCADA POR NUMERO DE HABITACION
void arcBuscarHabitacionPorNumero(const char nombreArchi[], int num);
int arcBuscarHabitacionesNoOcupadasONoReservadas(char nombreArchi[], strHabitacion A[], int num, int numero);//PASAR LAS HABITACIONES QUE SE SOLICITEN A UN ARREGLO
void mostrarArregloDeStructs(strHabitacion A[], int validos);//MOSTRAR ARREGLO DE STRUCTS
strHabitacion auxBuscarHabitacionesNoOcupadasONoReservadas(strHabitacion aux, int num);
Expand Down
Binary file modified obj/Debug/empleados.o
Binary file not shown.
Binary file modified obj/Debug/habitaciones.o
Binary file not shown.
6 changes: 3 additions & 3 deletions tmphotel.depend
Original file line number Diff line number Diff line change
Expand Up @@ -587,9 +587,9 @@

1687320192 c:\storage\docs\learning-aprendizaje\aa tecnología\docs\utn\tup\cursada\primer cuatrimestre\prog-laboratorio\trabajo final\gestion-hotel\preguntardni.h

1687320225 c:\storage\docs\learning-aprendizaje\aa tecnología\docs\utn\tup\cursada\primer cuatrimestre\prog-laboratorio\trabajo final\gestion-hotel\habitaciones.h
1687394227 c:\storage\docs\learning-aprendizaje\aa tecnología\docs\utn\tup\cursada\primer cuatrimestre\prog-laboratorio\trabajo final\gestion-hotel\habitaciones.h

1687320225 source:c:\storage\docs\learning-aprendizaje\aa tecnología\docs\utn\tup\cursada\primer cuatrimestre\prog-laboratorio\trabajo final\gestion-hotel\habitaciones.c
1687394526 source:c:\storage\docs\learning-aprendizaje\aa tecnología\docs\utn\tup\cursada\primer cuatrimestre\prog-laboratorio\trabajo final\gestion-hotel\habitaciones.c
<stdio.h>
<stdlib.h>
<string.h>
Expand Down Expand Up @@ -636,7 +636,7 @@
<string.h>
"tiempo.h"

1687326489 source:c:\storage\docs\learning-aprendizaje\aa tecnología\docs\utn\tup\cursada\primer cuatrimestre\prog-laboratorio\trabajo final\gestion-hotel\main.c
1687373055 source:c:\storage\docs\learning-aprendizaje\aa tecnología\docs\utn\tup\cursada\primer cuatrimestre\prog-laboratorio\trabajo final\gestion-hotel\main.c
<stdio.h>
<stdlib.h>
"tiempo.h"
Expand Down
Loading