Ir para conteúdo
Fórum Script Brasil
  • 0

Falha no Resultado


Otávio Pampolha

Pergunta

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.

Editado por Otávio Pampolha
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...