Jump to content
eXtremedlL

Como utilizar corretamente else // else if

Recommended Posts

Olá pessoal, bom dia!

 

Estou tentando fazer um programa onde preciso ler o nome e o salário (bruto) do funcionário e posteriormente informar ao mesmo qual será salário liquido (já descontando a % do INSS).  Porém, quando digito um salario acima de R$1501, quem tem um desconto de 11%, o sistema me retorna a resposta do desconto de 10%. Alguém poderia me dizer aonde estou errando? (Acredito que sintaxe para o else está incorreta).

 

//Exercicio 32 - Salario vs Desconto
#include <iostream>
using namespace std;
int main ( ) {
    float dp9, dp10, dp11, sb, scd, sl;
    char name[100];
    
    dp9 = 0.09;
    dp10 = 0.10;
    dp11 = 0.11;
    
    cout<<endl<<"CALCULE O SEU SALARIO (JA DESCONTADO O VALOR % DO INSS)"<<endl;
    
    cout<<endl<<"De R$0 a R$800 = 09%; de R$ 801 a 1500 = 10%; de 1501 ou mais = 11%"<<endl;
    
    cout<<endl<<"AVISO: NAO UTILIZE VIRGULA. USE SOMENTE PONTO FINAL."<<endl;
    cout<<"MAS SO USE PONTO PARA REPRESENTAR CENTAVOS. EX: 11111.11"<<endl;
    
    cout<<endl;
    
    system ("pause");
    
    cout<<endl<<"Digite o seu nome: ";
    cin>>name;
    
    cout<<endl<<"Informe o seu salario bruto: ";
    cin>>sb;
    
        if ( sb <= 800.99 ) {
            scd = sb * dp9;
            sl = sb - scd;
            cout<<endl<<"Solicitante: "<<name<<endl;
            cout<<endl<<"Salario liquido (-9% INSS) = R$"<<sl<<endl;
        }
        else if ( sb >= 801.00 || ( 801.00 == 1500.99 ) ) {
            scd = sb * dp10;
            sl = sb - scd;
            cout<<endl<<"Solicitante: "<<name<<endl;
            cout<<endl<<"Salario liquido (-10% INSS) = R$"<<sl<<endl;
        }
        else if ( sb >= 1501.0 ) {
            scd = sb * dp11;
            sl = sb - scd;
            cout<<endl<<"Solicitante: "<<name<<endl;
            cout<<endl<<"Salario liquido (-11% INSS) = R$"<<sl<<endl;
        }
    
    cout<<endl;
    
    system ("pause");
    
    return (0);
}

 

Share this post


Link to post
Share on other sites

Galera, conseguir resolver o meu problema com a ajuda de um rapaz no facebook (que em parte estava no segundo e último else). Segue o novo código para os mesmos: 

 

        else if ( sb >= 801.00 && sb <= 1500 ) {
            scd = sb * dp10;
            sl = sb - scd;
            cout<<endl<<"Solicitante: "<<name<<endl;
            cout<<endl<<"Salario liquido (-10%% INSS) = R$"<<sl<<endl;
            }
        else {
            scd = sb * dp11;
            sl = sb - scd;
            cout<<endl<<"Solicitante: "<<name<<endl;
            cout<<endl<<"Salario liquido (-11%% INSS) = R$"<<sl<<endl;
            }

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By gabriel1303
      É possível verificar a ocorrência de um caractere em negrito em uma planilha do Excel utilizando c/c++?
    • By ArchTGS
      #include <iostream>
      #include <locale>
      using namespace std;
      int main(){
          setlocale(LC_ALL,"ptb");
          int idade;
          char *categoria;
          cout<<"informe a idade do participante: ";
          cin>>idade;
          while(idade!=-1){
              if(idade>=7 && idade<=12){
                  categoria="INFANTIL";
              }
              else if(idade>12 && idade<=17){
                  categoria="JUVENIL";
              }
              else if(idade>17 && idade<=49){
                  categoria="ADULTO";
              }
              else if(idade>=50){
                  categoria="SÊNIOR";
              }
              else{
                  cout<<"Infelizmente o candidato ainda não pode participar!";
              }
              cout<<"O participante está na categoria "<<categoria << " \n ";
              cout<<"Informe a idade do participante: ";
              cin>>idade;
          }
      }
      então pessoal esse é meu codigo, está funcionando bonitinho, porém quando eu faço o teste da ultima opção do encadeamento else, que está em vermelho, aparece o resto do codigo também, o que está em verde, tem alguma maneira de fazer essas ultimas mensagens não aparecerem? não quero ter que colocar saídas(cout) em todos os if's e elses.
      Obs: to aprendendo peguem leve.
    • By RickSilva
      Tenho que criar um código que imprime os 5 numeros anteriores, por exemplo: se o usuario digitar 30, tem que ser impresso 29, 28, 27, 26, 25. Eu conseguir criar um código, porem começa do numero atual, se eu digito 30 começa do 30 e não é isso que eu quero. Eu consigo fazer isso tranquilo com um for, mas preciso que seja com recursividade. O codigo que criei foi esse: 
       
      #include <stdio.h> long int number(int num, int y){ if(num > y-5){ printf(" %d ", num); number(num - 1, y); } else{ return 0; } } int main() { int N; int y; printf("Digite um numero inteiro positivo: "); scanf("%d", &N); y = N; number(N, y); return 0; }  
    • By Ericles Boanova
      Olá,
      Estou desenvolvendo um Guia de Solução para pessoas que estão com problemas técnicos com seu notebook.
      Basicamente, no meu banco de dados (Mysql) está cadastrado id_pergunta, pergunta, sim e nao.
       
      Ex:
      id_pergunta pergunta sim não 1 Equipamento está carregado? 2 5 2 Equipamento sofreu alguma queda recentemente? 3 4 3 Entre em contato com uma autorizada para verificar se seu equipamnto possui garantia n/a   4 Faça drenagem de energia no equipamento .. .. 5 Entao carregue! .. ...  
      Então, é basicamente este o ponto que estou com dificuldades.
      Preciso transpor esta lógica do banco de dados para o php.
      Terá uma tela onde haverá diversos problemas genéricos (não liga, não da boot, etc) e a partir da seleção de uma dessas opções irá puxar a primeira questão do banco.
      Com base na resposta desta questão, será buscada a próxima questão ou será finalizado, caso o problema seja resolvido.
      Como faço o código php para este caso? para que fique nesse looping até a solução?
       
    • By Rafaahs
      Boa Tarde, Meu professor jogou uma "bomba" para mim sem ao menos explicar direito, enfim ele pediu para criarmos uma Lista de característica de animais... exemplo: Quadripedes, bípedes, voadores... e se você escolher quadrupedes vai para opção... carnívoro [1] herbívoros[2] e dando a próxima escolha aparece o nome dos animais, LEAO ou CAVALO.
      o Problema é que eu não estou conseguindo fazer escolher a opção cavalo , quando a pessoa escolhe todo '1' chega no leao, mas se na ultima etapa você digitar '2' era para aparecer cavalo, porém fica em Branco... me ajudem por favor.
       
       
      #include<stdio.h>
      #include<stdlib.h>
      int main()
      {   
            char opcao; do
           {
            system("cls");
            printf("\n Digite a categoria do animal desejado: ");
            printf("\n [1] Mamiferos: ");
            printf("\n [2] Aves");
            printf("\n [3] Repteis: ");
            printf("\n [4] fim ");
            printf("\n Digite sua opcao: ");
            fflush (stdin);
            scanf("%c", &opcao);
            switch(opcao)
                  {
                      case'1': printf("\n[1] quadrupedes");
                              
                         case'2': printf("\n[2] bipedes");
                         
                         case'3': printf("\n[3] voador");
                         
                         case'4': printf("\n[4] aguatico");
                           { 
                              printf("\n Digite sua opcao: ");
                           fflush (stdin);
                           scanf("%c", &opcao);
                                switch(opcao)
                                            
                                       case'1':  printf("\n[1] carnivoro");
                                            printf("\n[2] herbivoro"); 
                                      {
                                          printf("\n Digite sua opcao: ");
                                          fflush (stdin);
                                          scanf("%c", &opcao);
                                               switch(opcao)
                                                 
                                                       case'1': printf("\n Leao!");
                                                                break;
                                           }   
                                  {
                                     printf("\n Digite sua opcao: ");
                                          fflush (stdin);
                                          scanf("%c", &opcao);
                                               switch(opcao)
                                                 
                                                       case'1': printf("\n Cavalo");
                                                                break;    
                                  }   
                           }
                      
                  
                                
                               
                         
                  }
            system("pause>null");
           }
          while(opcao=!'4');
      }
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.