ph1 0 Denunciar post Postado Outubro 9, 2017 Prazer para todos. Fiz este exercício para calcular as calorias gastas em uma refeição. Entra com prato, bebida e sobremesa. O problema está em comparar as strings. O VisualG não aceita a comparação. Por exemplo, entro com a string carne, o programa diz: esperava encontrar então na linha se (prato = carne) então. Não há explicação possível para esse problema. Não sei onde está o erro, para mim, a lógica está correta. Obrigado. Algoritmo "semnome" // Disciplina : [Linguagem e Lógica de Programação] // Professor : // Descrição : Aqui você descreve o que o programa faz! (função) // Autor(a) : Nome do(a) aluno(a) // Data atual : 02/10/2017 Var // Seção de Declarações das variáveis cal1,cal2,cal3,p1,p2,p3,caltotal:inteiro prato,bebida,sobremesa:caractere Inicio // Seção de Comandos, procedimento, funções, operadores, etc... escreval("Entre com o prato") leia (prato) escreval(prato) se (prato = carne) então cal1 <- 350 senão se (prato = peixe) então cal1 <- 230 senão se (prato = frango) então cal1 <- 250 senão cal <- 180 fimse fimse fimse escreval("Entre com a bebida") leia (bebida) se (bebida = cha) então cal2 <- 20 senão se (bebida = suco de laranja) então cal2 <- 100 senão se (bebida = suco de melao) então cal2 <- 100 senão se (bebida = refrigerante diet) então cal <- 65 fimse fimse fimse fimse escreval("Entre com a sobremesa") leia (sobremesa) se (sobremesa = abacaxi) então cal3<- 75 senão se (sobremesa = sorvete diet) então cal <- 110 senão se (sobremesa = mouse diet) então cal3 <- 170 senão se (sobremesa = mouse chocolate) então cal <- 200 fimse fimse fimse fimse senão escreval ("Opção inválida.") caltotal <- cal1 + cal2 + cal3 escreval("O prato escolhido foi: ",prato) escreval("A bebida escolhida foi: ",bebida) escreval("A sobremesa escolhida foi: ",sobremesa) escreval("O total de calorias é de: ",caltotal) Fimalgoritmo Compartilhar este post Link para o post Compartilhar em outros sites
CisoXP 2 Denunciar post Postado Novembro 11, 2017 Olá, tudo bem? Encontrei 2 erros, pra começar: 1. As palavras-chave do Visualg são escritas sem acento, então você está errando nas palavras "então" e "senão" que devem ser "entao" e "senao", por isso seu algoritmo dá erro. 2. Você está fazendo a comparação do que o usuário escreveu, que é uma string, tudo que for string, seja no Visualg, seja em qualquer outra linguagem de programação deve ser colocada aspas. A sua linha: se (prato = carne) então Deve ser escrita: se (prato = "carne") entao Replique isso para o resto do código e vai funcionar. Outra coisa que notei: Ali na primeira estrutura de decisão, você termina com 3 "fimse", mas basta 1. Se deixar como está vai ver um erro no Visualg dizendo que tem um "fimse" sem um "se" correspondente, o mesmo para as outras estruturas de decisão do seu algoritmo. Compartilhar este post Link para o post Compartilhar em outros sites