Ir ao conteúdo
  • Cadastre-se
mestre mago

precisava que se fosse digitado caminhao ele fizesse o que tava pedindo la, so caso fiz so um teste com a mensagem OK. porém se digito ele pedi atribu

Recommended Posts

O codigo ta funcionando,porém quando escolho a opcao caminhao ele pedi os atributos do outro caso, e eu precisava que se fosse digitado caminhao ele fizesse o que tava pedindo la, so caso fiz so um teste com a mensagem OK. porém se digito ele pedi atributos do primeiro caso e so no final passa pela mensagem..se alguem uder ajudar agradeco..
Codigo:
 

escreval ("Digite o tipo de veiculo")leia (tipoVeiculo)se (tipoVeiculo = "automovel") entãoescreval ("Escolha a marca do veiculo : Ford,Chev,fiat")leia(marcaLeg)fimsese (marcaLeg = marcaLegA[1])entãovalorTotal <- marcaValA[1]senaofimsese (marcaLeg = marcaLegA[2]) entãovalorTotal <- marcaValA[2]senaofimsese (marcaLeg = marcaLegA [3])entãovalorTotal <- marcaValA[3]senaofimseescreval ("Digite o ano de fabricação: 2015, 2014, 2013,2012 ou 2011")leia (anoFab)se (anoFab = anoFabriA[1]) entãovalorTotal <- valorTotal * anoFabriPerceA[1]senaofimsese (anoFab = anoFabriA[2]) entãovalorTotal <- valorTotal * anoFabriPerceA[2]senaofimsese (anoFab = anoFabriA[3]) entãovalorTotal <- valorTotal * anoFabriPerceA[3]senaofimsese (anoFab = anoFabriA[4]) entãovalorTotal <- valorTotal * anoFabriPerceA[4]senaofimsese (anoFab = anoFabriA[5]) entãovalorTotal <- valorTotal * anoFabriPerceA[5]senaofimseescreval("Digite o numero de portas desejado: 2, 3 ou 4")leia(numPortas)se (numPortas = numPortasA[1]) entãovalorTotal <- valorTotal * percPortasA[1]senaofimsese (numPortas = numPortasA [2]) entãovalorTotal <- valorTotal * percPortasA[2]senaofimsese (numPortas = numPortasA [3]) entãovalorTotal <- valorTotal * percPortasA[3]senaofimseescreval("escolha o estado de conservacao: bom, ruim ou excelente")leia(estadoConserv)se (estadoConserv = estadoConservacaoA[1] )entãovalorTotal <- valorTotal * percentualConservA[1]senaofimsese (estadoConserv = estadoConservacaoA[2])entãovalorTotal <- valorTotal * percentualConservA[2]senaofimsese (estadoConserv = estadoConservacaoA[3])entãovalorTotal <- valorTotal * percentualConservA[3]senaofimseescreval("valor total do veiculo: ", valorTotal)escreval("Escolha a potencia: 1.0, 1.2, 1.4, 1.6")leia(potenciaA)se (potenciaA = 1.0)entãovalorTotal <- valorTotal * 1senaofimsese (potenciaA = 1.2) entãovalorTotal <- valorTotal * 1.1senaofimsese (potenciaA = 1.4)entãovalorTotal <- valorTotal * 1.2senaofimsese (potenciaA = 1.6)entãovalorTotal <- valorTotal * 1.3senaofimseescreval("valor total do veiculo: ", valorTotal)se (tipoVeiculo = "caminhao") entãoescreval("ok")senaofimsefimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

Bom como você quer comparar a variável "tipoVeiculo" com uma palavra digitada, acho que você deveria ficar assim: se (tipoVeiculo = 'caminhao') então

Ao invés de " usar ' entende? Não garanto que esse seja o problema porque sou novato no VisualG, mas tive um problema parecido e concertei dessa maneira.

 

Boa sorte

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz como voce falou, continuou pegando os atributos do outro, se eu digito automovel ele vai suave, pedi tudo certinho, se eu digito caminhao que seria outro caso, ele pedi os atributos do automovel novamente para so depois chegar na condicao do caminhao mesmo e mandar a mensagem, mas de qualquer forma obg pela dica.
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@mestre mago

 

Por que não faz o contrário usando a condicional encadeada(SE - então - SENÃO SE).. ou usando o escolha.

Veja que você abre e fecha um bloco... 

 

primeiro você testa se a palavra digitada é caminhão... se sim mostra OK senão o resto é tudo para automóvel.

 

exemplo simples

se tipoVeiculo = "caminhao" então    escreval("ok")senão se tipoVeiculo = "automovel" então    escreval ("Escolha a marca do veiculo : Ford,Chev,fiat")    leia(marcaLeg)    se marcaLeg = marcaLegA[1] então       valorTotal <- marcaValA[1]    senao se marcaLeg = marcaLegA[2] então       valorTotal <- marcaValA[2]

Veja que fiz só uma fração.. e nem fechei os SE por que deixo para você...

 

Contudo veja este tópico na qual possui uma estrutura SE -  então - SENÃO SE  completa..   além disso tem um exemplo de como usar o ESCOLHA

 

http://forum.clubedohardware.com.br/topic/1135311-problema-visualg-condicionais-se-sen%C3%A3o/

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

fiz como voce falou, continuou pegando os atributos do outro, se eu digito automovel ele vai suave, pedi tudo certinho, se eu digito caminhao que seria outro caso, ele pedi os atributos do automovel novamente para so depois chegar na condicao do caminhao mesmo e mandar a mensagem, mas de qualquer forma obg pela dica.

Olha, ele só vai comparar tipoVeiculo com caminhão no final do algorítimo, o que significa que vai passar todo o algorítimo e depois vai comparar com caminhão, como pode ver lá no começo você colocou FIMSE dps de fazer a comparação e de dar um valor para marcaLeg, assim fazendo os próximos comandos serem executados mesmo q a variável tipoVeiculo tenha valor automovel.

 

Eu faria algo mais ou menos assim:

 

escreval("Digite o tipo do veículo:")leia(tipoVeiculo) se(tipoVeiculo = 'automovel') entaocomandos para automovelfimse se(tipoVeiculo = 'caminhao') entaocomandos para caminhaofimse

Compartilhar este post


Link para o post
Compartilhar em outros sites

@mestre mago

 

Por que não faz o contrário usando a condicional encadeada(SE - então - SENÃO SE).. ou usando o escolha.

Veja que você abre e fecha um bloco... 

 

primeiro você testa se a palavra digitada é caminhão... se sim mostra OK senão o resto é tudo para automóvel.

 

exemplo simples

se tipoVeiculo = "caminhao" então    escreval("ok")senão se tipoVeiculo = "automovel" então    escreval ("Escolha a marca do veiculo : Ford,Chev,fiat")    leia(marcaLeg)    se marcaLeg = marcaLegA[1] então       valorTotal <- marcaValA[1]    senao se marcaLeg = marcaLegA[2] então       valorTotal <- marcaValA[2]

Veja que fiz só uma fração.. e nem fechei os SE por que deixo para você...

 

Contudo veja este tópico na qual possui uma estrutura SE -  então - SENÃO SE  completa..   além disso tem um exemplo de como usar o ESCOLHA

 

http://forum.clubedohardware.com.br/topic/1135311-problema-visualg-condicionais-se-sen%C3%A3o/

Verdade cara, sou novato nao iria me ligar nisso nunca, muito obrigado, me ajudou demais

 

Olha, ele só vai comparar tipoVeiculo com caminhão no final do algorítimo, o que significa que vai passar todo o algorítimo e depois vai comparar com caminhão, como pode ver lá no começo você colocou FIMSE dps de fazer a comparação e de dar um valor para marcaLeg, assim fazendo os próximos comandos serem executados mesmo q a variável tipoVeiculo tenha valor automovel.

 

Eu faria algo mais ou menos assim:

 

escreval("Digite o tipo do veículo:")leia(tipoVeiculo) se(tipoVeiculo = 'automovel') entãocomandos para automovelfimse se(tipoVeiculo = 'caminhao') entãocomandos para caminhaofimse

Valeu cara, me ajudou bastante, consegui resolver..Obg :D  :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×