Boa noite,
estou fazendo um trabalho de faculdade que pede o seguinte:
Construa, utilizando a linguagem C, um programa que gerencie um hotel. Assuma que o hotel tenha
capacidade de possuir apenas 50 estadias de hóspedes simultaneamente (utilize um vetor de structs para
armazenar estas estadias). As seguintes operações poderão ser feitas no sistema:
Registro de estadia (realizada no momento de chegada do hóspede ao hotel);
Registro de saída;
Cadastro de acomodações (descrição do quarto e valor da diária);
Listagem de todas as estadias do momento.
Na entrada no hotel pelo hóspede, deverá ser criada uma estadia para ele. Esta estadia conterá o
nome do hóspede, sexo, idade, CPF e um quarto (escolhido no momento da entrada). Naturalmente,
apenas quartos cadastrados poderão ser escolhidos. Ela conterá também a data de entrada e saída do
hóspede, bem como o valor total para o período. Na saída, o sistema deverá calcular o valor total e
mostrar para o cliente. Caso o hóspede saia após a data combinada, será cobrada uma multa de 10 reais
por dia excedido (além do valor da diária). Na saída, o quarto deve ser liberado. Além disso, na entrada,
o quarto deve ser reservado para o cliente, e não pode ser utilizado por mais ninguém nesse período.
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct cli
{
int n;
char nome[30];
int CPF;
int idade[8];
int cont[9];
}cliente[50];
struct quarto
{
int n;
int custo; /*preco dos quartos*/
int ndias;
int status;
int ncli;
}hotel[50];
int checkin()
{ /*regista a entrada de um cliente no respectivo quarto*/
int i=0,j;
i++;
printf("\n-- Dados do Cliente %d --\n\n",cliente[i].n);
printf("\nNome: ");
fflush (stdin);
gets(cliente[i].nome);
printf("\nCPF: ");
scanf("%d",&cliente[i].CPF);
printf("\nIdade: ");
scanf("%d",&cliente[i].idade);
printf("\nContribuinte: ");
scanf("%d",&cliente[i].cont);
for(j=0;j<50;j++)
if(hotel[j].status==0)
{
hotel[j].status=1; //coloca o quarto como ocupado
printf("\nNumero dias da estadia: ");
scanf("%d",&hotel[j].ndias);
printf("\n\n-- Registo quarto %d --",hotel[j].n);
hotel[j].ncli=cliente[i].n;
/* +1. quarto e numero de noites a guardar*/
printf("\nPreco a pagar: ",hotel[j].custo*hotel[j].ndias);
break;
}
if(j=49)/*caso esteja lotado*/
printf("\n\n-- Não existem vagas --");
system("PAUSE");
}
int reserva()
{
int i=0,j,flag;
i++;
printf("\n-- Dados do Cliente %d --\n\n",cliente[i].n);
printf("\nNome: ");
fflush (stdin);
gets(cliente[i].nome);
printf("\nCPF: ");
scanf("%d",&cliente[i].CPF);
flag=0;
for(j=0;j<50;j++)
if(hotel[j].status==1)
{
flag=1;
hotel[j].status=1;
printf("\n\n-- Registo quarto %d --",hotel[j].n);
hotel[j].ncli=cliente[i].n;
printf("\nPreco por noite: ",hotel[j].custo);
break;
}
if(flag=0)/*caso esteja lotado*/
printf("\n\n-- Não existem vagas --");
}
int checkout()
{ /*regista a saida de um cliente do respectivo quarto-eliminar*/
int j,aux;
printf("\nDigite o numero do quarto");
scanf("%d",&aux);
for(j=0;j<50;j++)
if(hotel[j].n==aux)
{
hotel[j].n=0;
hotel[j].ndias=0;
hotel[j].custo;
hotel[j].status=0;
hotel[j].ncli=0;
}
}
int listagem()
{ /*lista todos os quartos indicando os ocupados e os livres*/
int j;
system("pause");
for(j=0;j<=50;j++)
{
printf("-- Quartos livres --\n\n");
if(hotel[j].status==0)
printf("\nQuarto %d livre",hotel[j].n);
}
for(j=0;j<=50;j++) //dividir em 2
{
printf("-- Quartos ocupados --");
if(hotel[j].status==0)
printf("\nQuarto %d ocupado \n",hotel[j].n);
}
system("PAUSE");
}
int preco_quarto()
{
int j=0,aux=0;
printf("\nDigite o novo preco dos quartos: ");
scanf("%d",&aux);
for(j=0;j<=50;j++)
hotel[j].custo=aux;
printf("\n\nNovo preco de quarto: %d.00 Reais\n\n",aux);
system("PAUSE");
}
int main()
{
int op;
do{
system("cls");
printf ("--------------- Hotel de Turismo -----------------\n\n");
printf ("Digite as opcoes desejadas\n");
printf ("1- Check in \n");
printf ("2- Reserva \n");
printf ("3- Quartos disponiveis\n");
printf ("4- Valor da conta\n");
printf ("5- Check out \n");
printf ("6- Sair\n");
printf ("--------------------------------------------------\n\n");
scanf("%d",&op);
switch (op){
case 1: checkin();
break;
case 2: reserva();
break;
case 3: listagem();
break;
case 4: preco_quarto();
break;
case 5: checkout();
break;
case 6: system("cls");
printf("A terminar ...\n\n\n");
system("PAUSE");
return 0;
}
}while (op!=6);
system("PAUSE");
return 0;
}
Fiz esse código, mas não estou conseguindo cadastrar os quartos e nem os clientes. Será que alguem pode me dar uma ajuda??
Desde já agradeço.
Att.