Linguagem C
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.


Dicas de linguagem C
 
InícioPortalÚltimas imagensProcurarRegistrarEntrar

 

 Ajuda em um código

Ir para baixo 
AutorMensagem
Luiggi




Mensagens : 1
Data de inscrição : 21/11/2011

Ajuda em um código Empty
MensagemAssunto: Ajuda em um código   Ajuda em um código EmptySeg Nov 21, 2011 3:59 pm

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.
Ir para o topo Ir para baixo
 
Ajuda em um código
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» Ajuda com codigo para consulta em arquivo de texto
» O que há de errado com este código?? - Linguagem C
» Preciso da ajuda dos especialistas...
» atençao por favor precisa de ajuda com uma lista adjacente
» Ajuda para criar um programa usando Funções e/ou Procedimentos

Permissões neste sub-fórumNão podes responder a tópicos
Linguagem C :: Sua primeira categoria :: Seu primeiro fórum-
Ir para: