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

Funçao retornando valores na forma exponencial


David Mendonça

Pergunta

#include <iostream>
#include <stdio.h>
using namespace std;
   double ir (double sal, double taxa) //funçao que calcula o imposto devido
{
    double desc, salarioliq;
    desc = (sal * taxa)/100;
    salarioliq = sal - desc;
}        
     main()
 {
     int op;
     int p;
     double sal, desc, salarioliq, taxa;
     cout<< "Digite a opcao: \n";
     cin >> op;
     cout<< "Digite o valor do salario. \n";
     cin >> sal;
     
     switch (op)
     {
            case 1:  //Salario menor ou igual a 500,00
            cout<< "Funcionario isento \n";
            break;
            
            case 2:  //Salario entre 500,00 e 1500,00 
            taxa = 5;
            ir (sal, taxa); //Aplicando a funçao IR
            cout<< "IR devido:" << desc <<" \n";
            cout<< "Salario líquido:" << salarioliq <<" \n";
            break;
            
            case 3: //Salario entre 1500,00 e 2500,00
            taxa=15;
            ir (sal, taxa);
            cout<< "IR devido:" << desc <<" \n";
            cout<< "Salario liquido:" << salarioliq <<" \n";
            break;
            
            case 4: //Salario maior que 2500,00
            taxa=20;
            ir (sal, taxa);
            cout<< "IR devido:" << desc <<" \n";
            cout<< "Salario liquido:" << salarioliq <<" \n";
      }
            cin >> p;
 }

Criei essa função para calcular o IR. Mas ta retornando o desconto e o salario liquido na forma exponencial.

Ao invés de declarar os ponto flutuantes com double já tentei tambem com float, mas continuou exibindo dessa forma. Ex: 7.97872e-312.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá David,

Sua função ir() não estava retornando um valor valido para a pilha.

Eu inclui a saída do IR Devido e do Salário liquido dentro da função pra você ver os resultados já que as variáveis foram declaradas locais dentro da função.

Você entende o conceito de escopo de variaveis?

Qualquer duvida posta ai.

Abs

#include <iostream>
#include <stdio.h>
using namespace std;
double ir (double sal, double taxa) //funçao que calcula o imposto devido
{
    float desc, salarioliq;
    desc = (sal * (taxa))/100.0;
    salarioliq = sal - desc;
    
    cout << "IR devido: " << desc <<" \n";
    cout << "Salario liquido:" << salarioliq <<" \n";
    
    return 0.00;
}        
void main(void)
{
     int op;
     int p;
     float sal, desc, salarioliq, taxa;
     desc = 0.0;
     salarioliq = 2000.0;
     cout<< "Digite a opcao: \n";
     cin >> op;
     cout<< "Digite o valor do salario. \n";
     cin >> sal;
     
     switch (op)
     {
            case 1:  //Salario menor ou igual a 500,00
            cout<< "Funcionario isento \n";
            break;
            
            case 2:  //Salario entre 500,00 e 1500,00 
            taxa = 5;
            desc = ir (sal, taxa); //Aplicando a funçao IR
            
            //cout<< "IR devido:" << desc <<" \n";
            //cout<< "Salario líquido:" << salarioliq <<" \n";
            break;
            
            case 3: //Salario entre 1500,00 e 2500,00
            taxa=15;
            ir (sal, taxa);
            //cout << "IR devido: " << desc <<" \n";
            //cout << "Salario liquido:" << salarioliq <<" \n";
            break;
            
            case 4: //Salario maior que 2500,00
            taxa=20;
            ir (sal, taxa);
           // cout<< "IR devido:" << desc <<" \n";
           // cout<< "Salario liquido:" << salarioliq <<" \n";
           break;
      }
            cin >> p;
}

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
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...