Olá. Sou novo aqui e na área de programação. To tendo aulas de linguagem de programação e to tendo dificuldade (que acho que seja lógica) em desenvolver o programa que o professor pediu. Basicamente é para testarmos e aprendermos a manipular funções, parâmetros e algumas coisas mais simples. O programa que uso é o Dev C++. E to mexendo em linguagem C.
Aqui vai o programa:
1) Elabore um programa de um hotel. Este programa precisa conter um menu com 6 opções:
[1] Alterar o valor da estadia
[2] Fazer Check-In
[3] Fazer Check-Out
[4] Atualizar as Lotacoes
[5] Relatorio Diario
[6] Sair
Cada opção deve ter um tipo de função estabelecida.
[1] - Em alterar estadia, é necessário que pergunte o valor novo da estadia. E este valor será usado para todo o resto do programa.
[2] - Fazer check-in é para armazenar o nome do hospede, o tempo que ficará no hotel (em dias), o código da pessoa. (Se for 1, a pessoa fica no quarto de codigo 1. Caso a pessoa saia, esse número 1 é liberado e se torna 0. O 1 é só para estabelecer que naquela posição que o hospede foi hospedado, está livre.)
[3] - Fazer check-out é para pegar os dados do hospede armazenado no vetor de estrutura, utilizado em check-in, e faz todo o calculo. Total de dias hospedados, o valor da conta, liberação do quarto (mudar para 0)
[4] - Por enquanto não é necessário.
[5] - Também não.
Tenho dificuldade em usar os valores armazenados nas funções em outras funções, pois dá como se a variável fosse inexistente. Eu não entendo como usar ponteiros nesse caso, para passar valor. To preocupado, pois tenho medo de não me suceder neste área, por não entender o que se passa nos programas. =[
#include<stdio.h>#include<stdlib.h>//Definindo os dados dos hospedestypedefstructHospedeCadastro{charNome[80];intEstadia,NumeroQuarto,Codigo;}Cadastro;//Alterando o valor da estadiatypedefstructValorEstadia(){floatTotalDebito2;if(TempoEstadia<15)TotalDebito2=50+TempoEstadia*4;if(TempoEstadia=15)TotalDebito2=50+TempoEstadia*3.60;if(TempoEstadia>15)TotalDebito2=50+TempoEstadia*3;return(TotalDebito2);};int achaProximoLivre(Cadastro*cli){int x;for(x=0; x<1000;x++){if(cli[x].Codigo==-1)break;return(x);}}void inicializarClientes(Cadastro*cli){int x;for(x=0; x<1000;x++)
cli[x].Codigo=-1;}voidMenuHotel(){intOpcao, I,Quantidade,TotalDeHospedes;CadastroClientes[1000];
inicializarClientes(Clientes);while(Opcao!=6){
system("cls");
printf("******** Menu ********\n\n");
printf("[1] Alterar o valor da estadia");
printf("\n[2] Fazer Check-In");
printf("\n[3] Fazer Check-Out");
printf("\n[4] Atualizar as Lotacoes");
printf("\n[5] Relatorio Diario");
printf("\n[6] Sair");
printf("\n\nOpcao escolhida: ");
scanf("%d",&Opcao);
fflush(stdin);switch(Opcao){case1:{// ValorEstadia();break;}case2:{
system("cls");int x = achaProximoLivre(Clientes);
printf("O proximo quarto livre é o %d");
printf("\nQual o numero do quarto que sera hospedado: ");
scanf("%d",&Clientes[x].NumeroQuarto);
fflush(stdin);
printf("\nNome do hospede responsavel pelo quarto %d: ",Clientes[x].NumeroQuarto);
gets(Clientes[x].Nome);break;}case3:{break;}case4:{break;}case5:{break;}case6:{continue;}}}}int main(void){charAtendente[80];int I;
printf("Qual seu nome: ");
gets(Atendente);
printf("Seja bem-vindo(a), %s.",Atendente);for(I=0;I<1079999999;I++);MenuHotel();}
Pergunta
Eduardo Schossler
Olá. Sou novo aqui e na área de programação. To tendo aulas de linguagem de programação e to tendo dificuldade (que acho que seja lógica) em desenvolver o programa que o professor pediu. Basicamente é para testarmos e aprendermos a manipular funções, parâmetros e algumas coisas mais simples. O programa que uso é o Dev C++. E to mexendo em linguagem C.
Aqui vai o programa:
1) Elabore um programa de um hotel. Este programa precisa conter um menu com 6 opções:
[1] Alterar o valor da estadia
[2] Fazer Check-In
[3] Fazer Check-Out
[4] Atualizar as Lotacoes
[5] Relatorio Diario
[6] Sair
Cada opção deve ter um tipo de função estabelecida.
[1] - Em alterar estadia, é necessário que pergunte o valor novo da estadia. E este valor será usado para todo o resto do programa.
[2] - Fazer check-in é para armazenar o nome do hospede, o tempo que ficará no hotel (em dias), o código da pessoa. (Se for 1, a pessoa fica no quarto de codigo 1. Caso a pessoa saia, esse número 1 é liberado e se torna 0. O 1 é só para estabelecer que naquela posição que o hospede foi hospedado, está livre.)
[3] - Fazer check-out é para pegar os dados do hospede armazenado no vetor de estrutura, utilizado em check-in, e faz todo o calculo. Total de dias hospedados, o valor da conta, liberação do quarto (mudar para 0)
[4] - Por enquanto não é necessário.
[5] - Também não.
Tenho dificuldade em usar os valores armazenados nas funções em outras funções, pois dá como se a variável fosse inexistente. Eu não entendo como usar ponteiros nesse caso, para passar valor. To preocupado, pois tenho medo de não me suceder neste área, por não entender o que se passa nos programas. =[
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.