Jump to content
Fórum Script Brasil
  • 0

Falha no Resultado


Question

Boa Tarde Pessoal, eu tenho o seguinte exercício em Linguagem C(normal):

Elabore um programa em linguagem C que mostre o menu de opções abaixo e permita ao usuário escolher a opção desejada; receba os dados necessários para executar a operação e mostre o resultado. Verifique a possibilidade de opção inválida e não se preocupe com restrições como salário negativo.

Menu de Opções

==============

1. Imposto

2. Novo salário

3. Classificação

Digite a opção desejada: Na opção 1: receber o salário de um funcionário, calcular e mostrar o valor do imposto usando as regras a seguir: Salário Porcentual do Imposto Menor que R$ 1.200,00 5% De R$ 1.200,00 a R$ 2.500,00 10% Acima de R$ 2.500,00 15%

Na opção 2: receber o salário de um funcionário, calcular e mostrar o valor do novo salário usando as regras a seguir: Salário Porcentual do Imposto Maiores que R$ 2.500,00 R$ 100,00 De R$ 1.200,00 (inclusive) a R$ 2.500,00 (inclusive) R$ 200,00 De R$ 950,00 (inclusive) a R$ 1.200,00 R$ 300,00 Menores que R$ 950,00 R$ 400,00

Na opção 3: receber o salário de um funcionário e mostrar sua classificação usando a tabela abaixo: Salário Porcentual do Imposto Maiores ou igual a R$ 2.500,00 Ótima remuneração De R$ 1.200,00 (inclusive) a R$ 2.500,00 Boa remuneração De R$ 950,00 (inclusive) a R$ 1.200,00 Mal remuneração Menores que R$ 950,00 Muito mal remuneração.

Resolvi da seguinte forma:
 

//Inclusão de Bibliotecas
#include <stdio.h>
#include <locale.h>
#include <math.h>

//Declaração das Variaveis
int codigo=0;
float salario=0, salario_novo=0;
float imposto=0, porcentual_imposto=0;
char classificacao[30];
void main()

{
    //Configuração de Linguagem
    setlocale:(LC_ALL,"Portuguese");

    printf("\nMenu de Opcoes\n");
    printf("\n===================");
    printf("\n1. Imposto");
    printf("\n2. Novo Salario");
    printf("\n3. Classificacao");
    printf("\n===================\n");

    //Comandos de Entrada
    printf("\nDigite a opcao desejada de 1 a 3:");
    scanf("%d", &codigo);
    printf("\nDigite o valor do salario do funcionario em R$:");
    scanf("%f", &salario);

    //Processamento e Comandos de Saída
    switch(codigo)
    {
    case 1: if(salario<=1200.00)
            {
            imposto = (salario*0.05);
            printf("\nO Valor do imposto em R$ e igual a %.2f", imposto);
            }
            else
            if(salario>=1200.00 && salario>=2500.00)
            {
            imposto = (salario*0.10);
            printf("\nO Valor do imposto em R$ e igual a %.2f", imposto);
            }
            else
            if(salario>=2500.00)
            {
            imposto = (salario*0.15);
            printf("\nO Valor do imposto em R$ e igual a %.2f", imposto);
            }
    case 2: if(salario<2500.00)
            {
            salario_novo = (salario+100.00);
            printf("\nO Valor do novo salario em R$ e igual a %.2f", salario_novo);
            }
            else
            if(salario>=1,200.00 && salario>=2500.00)
            {
            salario_novo = (salario+200.00);
            printf("\nO Valor do novo salario em R$ e igual a %.2f", salario_novo);
            }
            else
            if(salario>=950.00 && salario>=1200.00)
            {
            salario_novo = (salario+300.00);
            printf("\nO Valor do novo salario em R$ e igual a %.2f", salario_novo);
            }
            else
            if(salario<950.00)
            {
            salario_novo = (salario+400.00);
            printf("\nO Valor do novo salario em R$ e igual a %.2f", salario_novo);
            }
    case 3: if(salario<2500.00)
            {
            printf("\nOtima Remuneracao");
            }
            else
            if(salario>=1,200.00 && salario>=2500.00)
            {
            printf("\nBoa Remuneracao");
            }
            else
            if(salario>=950.00 && salario>=1200.00)
            {
            printf("\nMal Remuneracao");
            }
            else
            if(salario<950.00)
            {
            printf("\nMuito Mal Remuneracao");
            }
     default: printf("\nCODIGO INVALIDO");

    }
}
 



Apesar de funcionar o programa, os resultados não estão totalmente corretos. Preciso de Ajuda. 

Obrigado.

Edited by Otávio Pampolha
Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Suas condições If deveriam representar o intervalo fechado dos valores.

 

ex.

[a ,...,x,..., b] equivalente à 

a <= x  &&  x <= b

 

Desculpa se isso não ajudar tanto , esse foi o primeiro erro lógico que percebi , faça as devidas correções e questione se precisar de mais ajuda.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      149405
    • Total Posts
      645894
×
×
  • Create New...