Ir ao conteúdo
  • Cadastre-se

VisualG Folha de Pagamento automatizada


Ir à solução Resolvido por Simon Viegas,

Posts recomendados

Bom dia! Estou desenvolvendo um código para a resolução do seguinte exercício, mas ao realizar o teste de mesa o resultado é 0 e eu não sei onde estou errando para apresentar esse resultado. Alguém saberia como me ajudar?

 

Exercício:

image.thumb.png.1c1b6b0cf39e3206fdd00c102dab5d42.png

image.thumb.png.c9c34c26915f2e140c07e9230407f4b6.png

image.thumb.png.068d0b5e632b2221d0755bf79bdbe685.png

 

 

O código que eu desenvolvi para a resolução do exercício: 

Var
   codigo, val_horas: inteiro
   turno, categoria: caractere
   h_trab, sal_min, sal_ini, aux_ref, sal_total: real

Inicio
   escreval ("Informe o seu código:")
   leia (codigo)
   escreval ("Informe as suas horas trabalhadas no mês:")
   leia (h_trab)
   escreval ("Informe o seu turno:")
   escreval ("M - Matutino:")
   escreval ("V - Vespertino:")
   escreval ("N - Noturno:")
   leia (turno)
   escreval ("Informe a sua categoria:")
   escreval ("G - Gerente:")
   escreval ("F - Funcinário:")
   leia (categoria)
   escreval ("Informe o salário mínimo:")
   leia (sal_min)
   escolha(categoria)
   caso "G"
      escolha(turno)
      caso "N"
         val_horas:=sal_min*(6/100)
      caso "M"
         val_horas:=sal_min*(4/100)
      caso "V"
         val_horas:=sal_min*(4/100)
      fimescolha
   fimescolha
   escolha(categoria)
   caso "F"
      escolha (turno)
      caso "N"
         val_horas:=sal_min*(2/100)
      caso "M"
         val_horas:=sal_min*(1/100)
      caso "V"
         val_horas:=sal_min*(1/100)
      fimescolha
   fimescolha
   sal_ini:=val_horas*h_trab
   se (sal_ini <= 800.00) então
      aux_ref:=sal_ini*(25/100)
   senao
      se (sal_ini > 800.00) e (sal_ini <= 1200.00) então
         aux_ref:=sal_ini*(20/100)
      senao
         se (sal_ini > 1200.00) então
            aux_ref:=sal_ini*(15/100)
         fimse
      fimse
   fimse
   sal_total:=sal_ini+aux_ref
   escreval ("Relatório do Funcionário:")
   escreval ("O seu código é:", codigo)
   escreval ("Suas horas trabalhadas foram:", h_trab)
   escreval ("O valor das suas horas trabalhadas é:", val_horas)
   escreval ("O valor do seu salário inicial é:", sal_ini)
   escreval ("O valor do auxílio alimentação é:", aux_ref)
   escreval ("O salário final é:", sal_total)
Fimalgoritmo

 

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

  • Membro VIP
  • Solução

@nathalia.prado, dá uma olhada nesse tópico:

 

 

Adiantar mais um detalhezinho:

Em 08/03/2023 às 09:17, nathalia.prado disse:
val_horas: inteiro

 

Em 08/03/2023 às 09:17, nathalia.prado disse:
   caso "G"
      escolha(turno)
      caso "N"
         val_horas:=sal_min*(6/100)

 

Se tem "divisão" no meio, a variável não pode ser inteiro. Dar primeiro uma olhada lá no tópico (sobre o possível problema com o escolha) e testa teu código. Para resolver essa questão do tipo numérico, mude para real, mas sugiro testa primeiro antes de ajustar!!! (para entender o erro).

 

 

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

  • 2 semanas depois...

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!