Escreva um programa que apresente o menu de opções a seguir e permita ao usuário escolher a opção desejada. Leia os dados necessários para executar a operação e mostre o resultado. Esse processo deverá ser repetido até que o usuário escolha a opção 4.
Menu de opções:
7. Novo salário
8. Férias
9. Décimo terceiro
10. Sair
Opção 1: ler o salário de um funcionário, calcular e mostrar o novo salário usando as regras a seguir:
Salários Percentagem de aumento
Até R$999,99 999,99 |
De R$1000,00 a R$2000,00 (inclusive) | | De R
Acima de R$2000,00 2000,00 (inclusive) |
Opção 2: ler o salário de um funcionário, calcular e mostrar o valor de suas férias. Sabe-se que as férias equivalem a seu salário acrescido de um terço do salário.
Opção 3: ler o salário de um funcionário e o número de meses de trabalho na empresa (no máximo doze), calcular e mostrar o valor do décimo terceiro salário. Sabe-se que o décimo terceiro equivale a seu salário multiplicado pelo número de meses de trabalho dividido por 12. Caso o usuário informe o número de meses inválido, o programará deverá informar que o valor é inválido e deverá solicitar um novo valor, até que um valor válido seja informado.
Opção 4: sair do programa
Obs: caso seja informada uma opção ou um salário inválido (isto é, menor que zero), o programa deve ser solicitado um novo valor, até que um valor informado seja válido. Utilize o comando dowhile para implementar esta parte do programa.

Passo 1

Beleza, aqui a ideia é montar um programa que mostre um menu com quatro opções e fique repetindo até o usuário escolher “Sair”. A gente vai trabalhar com:
  • Laços de repetição (especificamente um do…while) para repetir o menu até a opção 4.
  • Estruturas condicionais (if…else ou switch) para cada opção.
  • Validação de entrada (salário, meses de trabalho e opção do menu).
  • Cálculos simples de aumento de salário, férias e décimo terceiro usando fórmulas matemáticas.

Passo 2

Primeiro, a gente declara as variáveis que vai usar:
  • opcao (inteiro) para armazenar a escolha do usuário.
  • salario (real) para ler o salário.
  • meses (inteiro) para ler meses trabalhados no décimo terceiro.
    Depois, a gente começa o laço do…while que vai:
  1. Mostrar o menu.
  2. Ler e validar opcao.
  3. Executar a ação correspondente.

Passo 3

Dentro do do, mostramos o menu:
7. Novo salário
8. Férias
9. Décimo terceiro
10. Sair
E lemos opcao. Se for menor que 7 ou maior que 10, pedimos de novo até ficar válido. É isso que o do…while faz aqui:
do {
  exibeMenu();
  lê(opcao);
} while (opcao < 7 || opcao > 10);
Isso garante que a gente só continua quando tiver uma opção de 7 a 10.

Passo 4

Agora, tratamos cada opção com um switch(opcao):
Opção 7 (Novo salário):
  1. Pedir salario e validar (salario >= 0).
  2. Aplicar o aumento conforme a faixa:
    • Se salario ≤ 999,99, aumento de 15%, ou seja: novoSalario = salario + salario times 15100
      - Se 1000,00 <= salario <= 2000,00, aumento de 10%:
      novoSalario = salario + salario times 10100
    • Se salario > 2000,00, aumento de 5%: novoSalario = salario + salario times 5100
      3. Mostrar novoSalario.

Passo 5

Opção 8 (Férias):
  1. Pedir salario e validar (salario >= 0).
  2. Calcular o valor das férias, que é o salário mais um terço: valorFerias = salario + salario times 13
    3. Mostrar valorFerias.

Passo 6

Opção 9 (Décimo terceiro):
  1. Pedir salario e validar (salario >= 0).
  2. Pedir meses e repetir até 1 <= meses <= 12:
    do {
      lê(meses);
    } while (meses < 1 || meses > 12);
    
  3. Calcular décimo terceiro: decimoTerceiro = salario times meses12
    4. Mostrar decimoTerceiro.

Passo 7

Opção 10: só sai do laço e encerra o programa.

Resposta

Segue um pseudocódigo completo, juntando tudo:
início
  declare inteiro opcao, meses
  declare real salario, novoSalario, valorFerias, decimoTerceiro

  faça
    // Mostrar menu
    escreva("7. Novo salário")
    escreva("8. Férias")
    escreva("9. Décimo terceiro")
    escreva("10. Sair")
    leia(opcao)

    // Validação da opção
  enquanto (opcao < 7 ou opcao > 10)

  escolha opcao faça
    caso 7:
      // Novo salário
      repita
        escreva("Informe o salário (>= 0): ")
        leia(salario)
      até (salario >= 0)

      se (salario <= 999.99) então
        novoSalario = salario + salario * 15/100
      senão se (salario <= 2000.00) então
        novoSalario = salario + salario * 10/100
      senão
        novoSalario = salario + salario * 5/100
      fim se

      escreva("Novo salário = R$", novoSalario)
    caso 8:
      // Férias
      repita
        escreva("Informe o salário (>= 0): ")
        leia(salario)
      até (salario >= 0)

      valorFerias = salario + salario * 1/3
      escreva("Valor das férias = R$", valorFerias)
    caso 9:
      // Décimo terceiro
      repita
        escreva("Informe o salário (>= 0): ")
        leia(salario)
      até (salario >= 0)

      repita
        escreva("Informe meses trabalhados (1 a 12): ")
        leia(meses)
      até (meses >= 1 e meses <= 12)

      decimoTerceiro = salario * meses / 12
      escreva("Décimo terceiro = R$", decimoTerceiro)
    caso 10:
      escreva("Saindo do programa...")
  fim escolha

até (opcao == 10)
fim

Exercícios relacionados