Ir ao conteúdo
  • Cadastre-se

Portugol Calcular diferença de pagamento do valor caso hospede gastar mais


Posts recomendados

uso portugol studio
 

1) No restaurante do hotel é oferecida uma cortesia para os hospedes. Em toda refeição o hotel paga R$ 30,99 reais do valor gasto pelos hospedes. Caso o hospede gaste menos que R$ 30,99 ou exatamente esse valor ele não precisa pagar nada. Caso o valor da mesa seja maior que R$ 30,99 o hóspede precisa pagar a diferença (o valor da refeição descontando a cortesia).
No sistema primeiro precisamos solicitar para o usuário e armazenar o valor de 4 mesas e guardar dentro de um vetor esses valores. Posteriormente precisamos verificar os valores armazenados para retornar para o usuário se a mesa precisa pagar ou não algum valor. Caso nenhum valor precise ser pago deve ser retornada a mensagem "Nada a pagar!", caso a mesa precise pagar algum valor deve ser retornado "A mesa precisa pagar: " e logo em seguida ser retornado quanto a mesa deve. Lembrando que precisamos fazer isso para todas as mesas.
 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • DiF alterou o título para Calcular diferença de pagamento do valor caso hospede gastar mais
  • Moderador

Caro usuário,

 

Seja bem-vindo ao Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Boa noite. 

Eu consegui desenvolver o exercício de outro jeito. Esta correto, mas não do jeito que deve ser.

 

Não consigo por no código o que o exercício pede.

vou enviar aqui o que tenho pronto.

real mesa
        
        escreva("Valor da Mesa1:  ")
        leia(mesa)

        se (mesa <30.99)//menor
        escreva("Nada a pagar")
        
        escreva("\n Valor da Mesa2:  ")
        leia(mesa)
        
        se (mesa >30.99)//maior
        escreva("Deve pagar R$  ", mesa - 30.99)
        
        escreva("\n Valor da Mesa3:  ")
        leia(mesa)
        
        se (mesa >30.99)//maior
        escreva("Deve pagar R$  ",mesa - 30.99)
        
        
        escreva("\n Valor da Mesa4:  ")
        leia(mesa)
        
        se (mesa <30.99)//menor
        escreva("Nada a pagar")

 

 

 

 

o certo é que ao final do código mostrasse que a mesa 2 deve pagar os 4.01 e não após digitar o valor da conta.

 

espero que tenham entendido.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
Em 01/05/2023 às 14:56, Mari Almeida disse:

1) No restaurante do hotel é oferecida uma cortesia para os hospedes. Em toda refeição o hotel paga R$ 30,99 reais do valor gasto pelos hospedes. Caso o hospede gaste menos que R$ 30,99 ou exatamente esse valor ele não precisa pagar nada. Caso o valor da mesa seja maior que R$ 30,99 o hóspede precisa pagar a diferença (o valor da refeição descontando a cortesia).
No sistema primeiro precisamos solicitar para o usuário e armazenar o valor de 4 mesas e guardar dentro de um vetor esses valores. Posteriormente precisamos verificar os valores armazenados para retornar para o usuário se a mesa precisa pagar ou não algum valor. Caso nenhum valor precise ser pago deve ser retornada a mensagem "Nada a pagar!", caso a mesa precise pagar algum valor deve ser retornado "A mesa precisa pagar: " e logo em seguida ser retornado quanto a mesa deve. Lembrando que precisamos fazer isso para todas as mesas.

 

Cadê o vetor?

 

Vamos lá: o maior segredo é exercitar e praticar a abstração. E de um modo geral, é preciso entender o problema antes de tentar achar uma solução.

 

Como o enunciado exige que tenha um vetor, uma dúvida que poderia surgir seria: "como utilizo vetores?". Entende? Mas além do uso de vetores, em o cerne do problema em si, que seria calcular lá o valor da mesa e exibir uma resultado adequado. 

 

Observe que são duas coisas distintas: usar vetores e calcular o que seja. Daí, podemos simplificar e tentar só calcular. Exemplo:

 

 
/*
1) No restaurante do hotel é oferecida uma cortesia para os hospedes. Em toda refeição o 
hotel paga R$ 30,99 reais do valor gasto pelos hospedes. Caso o hospede gaste menos que 
R$ 30,99 ou exatamente esse valor ele não precisa pagar nada. Caso o valor da mesa seja 
maior que R$ 30,99 o hóspede precisa pagar a diferença (o valor da refeição descontando 
a cortesia).
No sistema primeiro precisamos solicitar para o usuário e armazenar o valor de 4 mesas e 
guardar dentro de um vetor esses valores. Posteriormente precisamos verificar os valores
armazenados para retornar para o usuário se a mesa precisa pagar ou não algum valor. Caso
nenhum valor precise ser pago deve ser retornada a mensagem "Nada a pagar!", caso a mesa
precise pagar algum valor deve ser retornado "A mesa precisa pagar: " e logo em seguida
ser retornado quanto a mesa deve. Lembrando que precisamos fazer isso para todas as mesas.
*/
programa
{ 
	funcao inicio ()
	{ 	
		real valorMesa
	   
		escreva("Valor da mesa:  ")
		leia(valorMesa)
		
		se (valorMesa <= 30.99)
			escreva("Nada a pagar!")
		senao
			escreva("A mesa precisa pagar: ", valorMesa-30.99)
	} 
}

 

Exemplos de resultados:
image.png

 

image.png

 

E para adiantar, observe que no teu código não estava sendo considerado o igual. Abaixo o teste com meu código:

image.png

 

 

 

 

Observe que já posso fazer pequenos ajustes... inseri o "R$" e remover um espaço extra ao ler o valor da mesa:

		escreva("Valor da mesa: R$")
		leia(valorMesa)

 

		senao
			escreva("A mesa precisa pagar: R$", valorMesa-30.99)

 

image.png

 

 

Dai, tua missão agora seria avançar na abstração. Que tal calcular para duas ou mais mesas?

 

Dica: utilize uma variável para cada mesa, exemplo: valorMesa1valorMesa2valorMesa3 etc. Já perceba que a lógica meio que será bem parecida. Só organizar a ordem dos comandos, ou seja, primeiro ler as mesas, depois calcula os resultados. Com uma variável só não conseguiria fazer isso (pois o valor da mesa anterior iria se perder).

 

Tenta aí posta aqui.

 

 

Após, só será substituir as variáveis por um único vetor. Mas oh!, não tente fazer com vetor agora.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Bom dia, estou fazendo um menu de hotel no Portugol Studio com esses menus:

 

1 – Cadastrar Hospedes esse já esta ok, só falta um detalhe que é add uma variável para guarda o valor total da diaria para eu pode somar na opcao 5 area de lazer e depois fazer calculo final na opcao 6.

 

Obs.: se alguém puder me ajudar, agradeço.

 

esse é o código:
        

cadeia lista[7]
        inteiro opcao,qtdDiahospede, quartolivre, quartonaolivre
        inteiro i
        caractere opcao1, opcaoa, opcaor, opcaos
        cadeia nome, cpf
        real qtdvalorhotel, valortotal

        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://cadastrar hospedes 
                escreva(" Escreva o nome: ")
                leia(nome) 
                escreva(" CPF: ")
                leia(cpf) 
                escreva (" Quantidade de Dias que ficará hospedado ")
                leia(qtdDiahospede)
                                
                se (qtdDiahospede <=10)
                escreva(" Valor Total das despesas do hotel ", qtdDiahospede *100.00)
                
                
                
                para (i = 0; i <7; i++){
                se (lista[i] == ""){
                    lista[i] = nome + qtdDiahospede * 100.00 
                pare    
                }
                }
                pare

 

2 – Exibir Hospedes Cadastrados - já esta ok

3 Exibir Quartos - esse não faco ideia de como fazer a exibição

Crie um procedimento (exibirQuartos( )) que exiba todos os 10 quartos do hotel. Mostrar os quartos ocupados e os quartos livres.

4Atribuir Hospede a um quarto - esse não fiz porque falta o anterior

5 – Reservar Área de Lazer -  já esta pronto, falta só a variável para atribuir valor. 

6 – Calcular Total a Pagar -  esse foi enviado um modelo para seguir mas não consegui monta o restante do codigo

funcao liberarQuarto(cadeia nomeLiberado) { para(inteiro i = 0; i < 10; i++) { se(nomeLiberado == quartos[i]) { quartos[i] = "livre" } } }

 

 

 

– Exibir Quartos - esse não faco ideia de como fazer a exibição

Crie um procedimento (exibirQuartos( )) que exiba todos os 10 quartos do hotel. Mostrar os quartos ocupados e os quartos livres.

 

Sobre esse item eu tive um exercício parecido com vetores, mas não consegui atribuir, vou enviar aqui caso alguém consiga me mostrar o que falta eu já consigo inserir nesse código que preciso fazer.

 

desde ja agradeço.

inteiro quartos
            caractere opcao
          
               faca {
            escreva("Digite o número do quarto:  ")
            leia(quartos)

            escreva("O quarto está Livre (L) ou Ocupado (O)?")
            leia(opcao)
            
            se (opcao == 'l')
            escreva("O Quarto já está Vazio")
            

            senao escreva("O Quarto ja foi Ocupado")
            

            se (opcao =='o')
            escreva("O Quarto foi ocupado")
            

            senao escreva("O Quarto foi liberado")

            escreva("\n Deseja continuar?: ")
            leia(opcao)


           
               }
               enquanto (opcao == 's')

 

esse é o código, mas preciso atribuir 10 vetores. 

 o hotel tenha 10 quartos, desenvolva um algoritmo para marcar a ocupação de cada quarto. Todos os quartos iniciam como livres, o usuário informará então o número do quarto (de 1 a 10).. O sistema questionará “O quarto está livre ou ocupado? (L/O)”; o usuário informará L ou O e o sistema registrará essa escolha para o quarto

ATIVIDADE 5 - Instruções.pdf

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Vou criar um novo esboço me baseando pelas orientações do PDF (ATIVIDADE 5 - Instruções.pdf). Vamos lá:

 

Observação inicial: toda e qualquer característica do programa precisa está de acordo com o requisitos do enunciado. Em outro momento podemos aprofundar sobre essa questão.

 

 

 

 

Citação

Cada um dos itens do menu que serão criados serão uma função ou um procedimento e, com isso em mente, será importante verificar como as variáveis e vetores estarão conversando entre si dentro das diferentes opções e sempre retornar ao menu após cada opção ser digitada.

 

Poderia já parar para inserir no teu código. Vai facilitar a implementação e organização. Vou ir demonstrando inicialmente sem o uso de funções e procedimento, daí depois também já exemplifico como é super simples readaptar.

 

 

 

 

Citação

PARTE 1 – CONSTRUIR O MENU

 

OK. Basicamente é um menu como qualquer outro... tendo lá suas especificações. Um exemplo de como eu vou modelando um esboço:

 

programa
{
	funcao inicio()
	{
		inteiro opcao
		
		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: //Cadastrar Hospedes
					escreva("\nOPCAO 1")
					pare
				caso 2: //Exibir Hospedes Cadastrados
					escreva("\nOPCAO 2")
					pare
				caso 3: //Exibir Quartos
					escreva("\nOPCAO 3")
					pare
				caso 4: //Atribuir Hospede a um quarto
					escreva("\nOPCAO 4")
					pare
				caso 5: //Reservar Área de Lazer
					escreva("\nOPCAO 5")
					pare
				caso 6: //Calcular Total a Pagar
					escreva("\nOPCAO 6")
					pare
				caso 0: //Sair
					escreva("\nOPCAO 0")
					pare	
			} //opcao
		} enquanto (opcao != 0)
	}
}

 

Daí só ir preenchendo.

 

 

 

 

Citação

PARTE 2 – CADASTRAR HOSPEDE

 

9 horas atrás, Mari Almeida disse:

1 – Cadastrar Hospedes esse já esta ok, só falta um detalhe que é add uma variável para guarda o valor total da diária para eu pode somar na opção 5 área de lazer e depois fazer calculo final na opção 6.

 

Aqui o enunciado também especifica características:

Citação

É importante lembrar que nesta atividade será necessário o uso de mais de um vetor para armazenar as informações (nome, CPF, etc.)

 

Cadê os vetores? OK! Tudo bem! No teu código utilizou um só... isso é bacana. O importante e meter mão e ao mesmo tempo tentar ir abstraindo formas diferentes para fazer algo parecido (que é diferente de "mesma coisa"). A medida que vai amadurecendo com os conceitos impostos pelo enunciado, vai reajustando. De boa. 

 

 

Continuando.. Creio que a parte inicial seria basicamente isso:

 

Declaração das variáveis:

		//DADOS DOS HÓSPEDES
		cadeia nome = ""
		inteiro cpf = 0, qtdDiarias = 0
		real totalDespesas = 0.0

Obs.: apenas para o cadastro não se faz necessário inicializar as variáveis, mas como de qualquer forma tem a parte da exibição, já pode declarar assim. Qualquer coisa teste removendo essas inicializações (a parte do igual e o valor)

 

Implementação do caso 1:

9 horas atrás, Mari Almeida disse:
          caso 1://cadastrar hospedes 
                escreva(" Escreva o nome: ")
                leia(nome) 
                escreva(" CPF: ")
                leia(cpf) 
                escreva (" Quantidade de Dias que ficará hospedado ")
                leia(qtdDiahospede)

 

Oras! É apenas o que está sendo solicitado no enunciado. Não teria essa questão do cálculo do valor da hospedagem.

9 horas atrás, Mari Almeida disse:
                se (qtdDiahospede <=10)
                escreva(" Valor Total das despesas do hotel ", qtdDiahospede *100.00)

 

Meu esboço ficou assim:

				caso 1: //Cadastrar Hospedes
					escreva("*** CADASTRO DE HÓSPEDE ***\n\n")
					escreva(" Nome   : ") leia(nome) 
					escreva(" CPF    : ") leia(cpf) 
					escreva(" Diárias: ") leia(qtdDiarias)
					pare

 

No documento tem essa parte também:

 

image.png

 

No caso estamos ignorando o uso de vetores e também podemos pular a parte de confirmação, que não seria importante por hora. (Nossa abstração para simplificar o problema.)

 

 

 

 

Citação

PARTE 3 – EXIBIR HOSPEDES CADASTRADOS

 

Very easy:

				caso 2: //Exibir Hospedes Cadastrados
					escreva("*** DADOS DE HÓSPEDE ***\n")
					escreva("\n Nome   : ", nome) 
					escreva("\n CPF    : ", cpf) 
					escreva("\n Diárias: ", qtdDiarias)
					pare

 

Adendo: aqui que faz-se necessário a inicialização das variáveis... caso contrário, acusa erro. (Como citato, testa aí.)

 

 

Show até aqui?

 

 

 

 

 

 

 

E aí, agora quer entrar no mundo dos vetores ou no mundo das funções e procedimentos? Tanto faz! Vamos para os procedimentos. Veja:

 

"Cada um dos itens do menu que serão criados serão uma função ou um procedimento". (Trecho do documento.)

 

Tenho isso:

Citação
				caso 1: //Cadastrar Hospedes
					escreva("*** CADASTRO DE HÓSPEDE ***\n\n")
					escreva(" Nome   : ") leia(nome) 
					escreva(" CPF    : ") leia(cpf) 
					escreva(" Diárias: ") leia(qtdDiarias)
					pare

 

Crio um procedimento com o nome desejado:

programa
{
	inteiro opcao

	funcao cadastrarHospede()
	{

	}

 

Apenas movo o que deveria está no procedimento...

 

programa
{
	funcao cadastrarHospede()
	{
		escreva("*** CADASTRO DE HÓSPEDE ***\n\n")
		escreva(" Nome   : ") leia(nome) 
		escreva(" CPF    : ") leia(cpf) 
		escreva(" Diárias: ") leia(qtdDiarias)
	}

 

Simples assim...

 

Ah! Mais as variáveis não estão funcionando. Quando você estudou procedimento e funções, deve ter tido contato com o tal termo "escopo", ou seja, o escopo desse procedimento é divergente do escopo do programa principal. Daí, ou utilizamos variáveis globais, ou passamos por parâmetro (ou alguma outra forma que não sei/não lembro). Vamos pelas globais:

 

programa
{
	inteiro opcao

	//DADOS DOS HÓSPEDES
	cadeia nome = ""
	inteiro cpf = 0, qtdDiarias = 0
	real totalDespesas = 0.0
	
	funcao cadastrarHospede()
	{
		escreva("*** CADASTRO DE HÓSPEDE ***\n\n")
		escreva(" Nome   : ") leia(nome) 
		escreva(" CPF    : ") leia(cpf) 
		escreva(" Diárias: ") leia(qtdDiarias)
	}
	
	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)

 

É file ou não? 😄

 

 

 

Vamos dar uma resumida em tudo. Segue meu esboço utilizando procedimentos.

programa
{
	inteiro opcao

	//DADOS DOS HÓSPEDES
	cadeia nome = ""
	inteiro cpf = 0, qtdDiarias = 0
	real totalDespesas = 0.0
	
	funcao cadastrarHospede()
	{
		escreva("*** CADASTRO DE HÓSPEDE ***\n\n")
		escreva(" Nome   : ") leia(nome) 
		escreva(" CPF    : ") leia(cpf) 
		escreva(" Diárias: ") leia(qtdDiarias)
	}

	funcao exibirHospede()
	{
		escreva("*** DADOS DE HÓSPEDE ***\n")
		escreva("\n Nome   : ", nome) 
		escreva("\n CPF    : ", cpf) 
		escreva("\n Diárias: ", qtdDiarias)
	}
	
	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
					exibirHospede()
					pare
				caso 3: //Exibir Quartos
					escreva("\nOPCAO 3")
					pare
				caso 4: //Atribuir Hospede a um quarto
					escreva("\nOPCAO 4")
					pare
				caso 5: //Reservar Área de Lazer
					escreva("\nOPCAO 5")
					pare
				caso 6: //Calcular Total a Pagar
					escreva("\nOPCAO 6")
					pare
				caso 0: //Sair
					escreva("\nOPCAO 0")
					pare	
			} //opcao
		} enquanto (opcao != 0)
	}
}

 

 

 

Agora vamos ajustar para vetores. Seria algo bem padrão mesmo... o uso de vetores é generalizado.

 

programa
{
	inteiro opcao, i = 0
	
	//DADOS DOS HÓSPEDES
	cadeia nomes[10]
	inteiro cpfs[10], qtdDiarias[10]
	real totalDespesas = 0.0
	
	funcao cadastrarHospede()
	{
		escreva("*** CADASTRO DE HÓSPEDE ***\n\n")
		escreva(" Nome   : ") leia(nomes[i]) 
		escreva(" CPF    : ") leia(cpfs[i]) 
		escreva(" Diárias: ") leia(qtdDiarias[i])
	}

	funcao exibirHospede()
	{
		escreva("*** DADOS DE HÓSPEDE ***\n")
		escreva("\n Nome   : ", nomes[i]) 
		escreva("\n CPF    : ", cpfs[i]) 
		escreva("\n Diárias: ", qtdDiarias[i])
	}
	
	funcao inicio()

 

 

Versão de implementação até aqui:

programa
{
	inteiro opcao, i = 0
	
	//DADOS DOS HÓSPEDES
	cadeia nomes[10]
	inteiro cpfs[10], qtdDiarias[10]
	real totalDespesas = 0.0
	
	funcao cadastrarHospede()
	{
		escreva("*** CADASTRO DE HÓSPEDE ***\n\n")
		escreva(" Nome   : ") leia(nomes[i]) 
		escreva(" CPF    : ") leia(cpfs[i]) 
		escreva(" Diárias: ") leia(qtdDiarias[i])
	}

	funcao exibirHospede()
	{
		escreva("*** DADOS DE HÓSPEDE ***\n")
		escreva("\n Nome   : ", nomes[i]) 
		escreva("\n CPF    : ", cpfs[i]) 
		escreva("\n Diárias: ", qtdDiarias[i])
	}
	
	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: //Cadastrar Hospedes
					cadastrarHospede()
					pare	
				caso 2: //Exibir Hospedes Cadastrados
					exibirHospede()
					pare
				caso 3: //Exibir Quartos
					escreva("\nOPCAO 3")
					pare
				caso 4: //Atribuir Hospede a um quarto
					escreva("\nOPCAO 4")
					pare
				caso 5: //Reservar Área de Lazer
					escreva("\nOPCAO 5")
					pare
				caso 6: //Calcular Total a Pagar
					escreva("\nOPCAO 6")
					pare
				caso 0: //Sair
					escreva("\nOPCAO 0")
					pare	
			} //opcao
		} enquanto (opcao != 0)
	}
}

 

 

 

Minhas sugestões daqui em diante

- poderia se basear por esse minha implementação e reajustar o teu código. Até deixar tudo rodando lisinho até esses pontos já abordados, ou seja, NÃO copie o meu código! Refaça tudo para assimilar ponto a ponto. Tudo isso que passei acima é "universal". A ideia é passar perrengue em alguns momentos, para posteriormente já pular etapas em novos outros. Tipo: já implementaria com procedimentos e vetores. Mas é necessário passar pelas características de não usar eles antes.

- após, releia parte por parte do enunciado e vá reajustando o código. Por exemplo, adicionar o controle dos vetores; adicionar os itens que faltam da PARTE 2, como "ler os dados, pedir confirmação e só depois adicionar ou não ao vetor (observe que eu li direto no vetor, mas a leitura deveria ser separada); Exibir os dados como estão na PARTE 3 etc.

 

Só após... entra em uma nova atividade, como adicionar o item 4. (Que você já fez, mas daí reinsere a partir dos novos ajustes que fez agora.)

 

 

Qualquer dúvida, comentário, sugestão, é só postar.

 

image.png

(ignorem essa imagem acima)

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...
Em 06/05/2023 às 08:19, Mari Almeida disse:

Bom dia, estou fazendo um menu de hotel no Portugol Studio com esses menus:

 

1 – Cadastrar Hospedes esse já esta ok, só falta um detalhe que é add uma variável para guarda o valor total da diaria para eu pode somar na opcao 5 area de lazer e depois fazer calculo final na opcao 6.

 

Obs.: se alguém puder me ajudar, agradeço.

 

esse é o código:
        

cadeia lista[7]
        inteiro opcao,qtdDiahospede, quartolivre, quartonaolivre
        inteiro i
        caractere opcao1, opcaoa, opcaor, opcaos
        cadeia nome, cpf
        real qtdvalorhotel, valortotal

        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://cadastrar hospedes 
                escreva(" Escreva o nome: ")
                leia(nome) 
                escreva(" CPF: ")
                leia(cpf) 
                escreva (" Quantidade de Dias que ficará hospedado ")
                leia(qtdDiahospede)
                                
                se (qtdDiahospede <=10)
                escreva(" Valor Total das despesas do hotel ", qtdDiahospede *100.00)
                
                
                
                para (i = 0; i <7; i++){
                se (lista[i] == ""){
                    lista[i] = nome + qtdDiahospede * 100.00 
                pare    
                }
                }
                pare

 

2 – Exibir Hospedes Cadastrados - já esta ok

3 Exibir Quartos - esse não faco ideia de como fazer a exibição

Crie um procedimento (exibirQuartos( )) que exiba todos os 10 quartos do hotel. Mostrar os quartos ocupados e os quartos livres.

4Atribuir Hospede a um quarto - esse não fiz porque falta o anterior

5 – Reservar Área de Lazer -  já esta pronto, falta só a variável para atribuir valor. 

6 – Calcular Total a Pagar -  esse foi enviado um modelo para seguir mas não consegui monta o restante do codigo

funcao liberarQuarto(cadeia nomeLiberado) { para(inteiro i = 0; i < 10; i++) { se(nomeLiberado == quartos[i]) { quartos[i] = "livre" } } }

 

 

 

– Exibir Quartos - esse não faco ideia de como fazer a exibição

Crie um procedimento (exibirQuartos( )) que exiba todos os 10 quartos do hotel. Mostrar os quartos ocupados e os quartos livres.

 

Sobre esse item eu tive um exercício parecido com vetores, mas não consegui atribuir, vou enviar aqui caso alguém consiga me mostrar o que falta eu já consigo inserir nesse código que preciso fazer.

 

desde ja agradeço.

inteiro quartos
            caractere opcao
          
               faca {
            escreva("Digite o número do quarto:  ")
            leia(quartos)

            escreva("O quarto está Livre (L) ou Ocupado (O)?")
            leia(opcao)
            
            se (opcao == 'l')
            escreva("O Quarto já está Vazio")
            

            senao escreva("O Quarto ja foi Ocupado")
            

            se (opcao =='o')
            escreva("O Quarto foi ocupado")
            

            senao escreva("O Quarto foi liberado")

            escreva("\n Deseja continuar?: ")
            leia(opcao)


           
               }
               enquanto (opcao == 's')

 

esse é o código, mas preciso atribuir 10 vetores. 

 o hotel tenha 10 quartos, desenvolva um algoritmo para marcar a ocupação de cada quarto. Todos os quartos iniciam como livres, o usuário informará então o número do quarto (de 1 a 10).. O sistema questionará “O quarto está livre ou ocupado? (L/O)”; o usuário informará L ou O e o sistema registrará essa escolha para o quarto

ATIVIDADE 5 - Instruções.pdf 185.15 kB · 48 downloads

 

@Mari Almeidabom dia tudo bom? você conseguiu completar a atividade se sim poderia me passar seu contato? pra trocarmos uma ideia sobre a atividade? estou tendo duvidas na parte de atribuir hospedes, e reservar área de lazer !

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!