@Simon Viegas, Um problema que estou tendo é que sempre que eu atribuo o hospede para o quarto, quando chamo a função exibir quartos() por causa do laço "para" , todos os quartos ficam "Livre".
meu problema está mais nessa parte! segue meu código
programa {
inteiro opcao, i = 0
//DADOS DOS HÓSPEDES
cadeia nomes [10]
cadeia cpfs [10]
inteiro qtdDiarias [10]
cadeia quartos[10]
real valorgasto[10]
real totalDespesas = 0.0
inteiro hospedeCadastrado = 0
cadeia aux
inteiro numquarto = 4
inteiro auxquarto = 0
caractere ocupquarto = ' '
funcao cadastrarHospede()
{
inteiro auxInt = 0
escreva("*** CADASTRO DE HÓSPEDE ***\n\n")
escreva(" Nome : ") leia(nomes[i])
escreva(" CPF : ") leia(cpfs[i])
escreva(" Diárias: ") leia(qtdDiarias[i])
escreva("Os dados estão corretos? : ")
leia(aux)
se(aux =="sim"){
hospedeCadastrado++
valorgasto[i] = 100*qtdDiarias[i]
escreva("Valor Gasto: ", valorgasto[i],"R$","\n")
i++
}senao{ escreva("fim")
hospedeCadastrado--
i--
inicio()
}enquanto(hospedeCadastrado==9){
escreva("cadastrosLotados")
inicio()
}
}
funcao exibirHospedes()
{
para (inteiro posicaoVetor = 0; posicaoVetor < i; posicaoVetor++) {
escreva("*** DADOS DO HÓSPEDE ***\n")
escreva("\n Índice: ", posicaoVetor)
escreva("\n Nome: ", nomes[posicaoVetor])
escreva("\n CPF: ", cpfs[posicaoVetor])
escreva("\n Quantidade de Dias: ", qtdDiarias[posicaoVetor], "\n")
}
}
funcao exibirQuartos(){
para(inteiro i = 0; i<10; i++){
quartos[i] = "Livre"
escreva("Quarto ",i+1," - ", quartos[i],"\n")
}
}
funcao atribuirHospede() {
inteiro indiceHospede, numeroQuarto
exibirHospedes()
escreva("Índice do Hospede? ")
leia(indiceHospede)
escreva("Número do Quarto? ")
leia(numeroQuarto)
para(inteiro i = 0; i<10; i++){
escreva("Quarto ",numeroQuarto," - ",nomes[indiceHospede],"\n")
}
}funcao ReservarLazer(){
escreva("Qual opção irá escolher")
cadeia continuar
inteiro indiceHospede = 0
caractere opcao
cadeia nome
escolha(opcao){
caso 'A':
escreva("Qual o seu indice ? ")
leia(indiceHospede)
escreva("Qual o seu nome? ")
leia(nome)
escreva("Obrigado",nome," a academia está reservada e o valor foi adcionado a sua conta total")
escreva("Quer continuar?")
(continuar)
}enquanto(continuar == "sim")
{
}funcao liberarQuarto(cadeia nomeLiberado) {
para(inteiro i = 0; i < 10; i++)
{
se(nomeLiberado == quartos[i])
{
quartos[i] = "livre"
}
}
}
funcao inicio()
{
faca {
escreva("\n Digite \n 1 – Cadastrar Hospedes \n 2 – Exibir Hospedes Cadastrados\n 3 – Exibir Quartos\n 4 – Atribuir Hospede a um quarto\n 5 – Reservar Área de Lazer\n 6 – Calcular Total a Pagar\n 0 – Sair\n ")
leia(opcao)
escolha (opcao) {
caso 1:
cadastrarHospede()
pare
caso 2: //Exibir Hospedes Cadastrados
exibirHospedes()
pare
caso 3: //Exibir Quartos
exibirQuartos()
pare
caso 4: //Atribuir Hospede a um quarto
atribuirHospede()
pare
caso 5: //Reservar Área de Lazer
ReservarLazer()
pare
caso 6: //Calcular Total a Pagar
escreva("\nOPCAO 6")
pare
caso 0: //Sair
escreva("\nOPCAO 0")
escreva("\n----Volte sempre----")
pare
} //opcao
} enquanto (opcao != 0)
}
}