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

Não consigo fazer com que esse código se repita!


doodoh

Pergunta

#include <iostream>
using namespace std;
main () {
    float sal,q1,q2,q3;
    q1=0;
    q2=0;
    q3=0;
    
    do  {
        cout<<"Informe os salários:";
        cin>>sal;
        if (sal>1500){
            q1=q1+1;
        }
        if (sal<150){
            q2=q2+1;
        } else{
            q3=q3+1;
        }
        
    } while (sal=0);
    cout<<"salários que são superiores a R$ 1.500,00: ";
    cout<<"salários que são inferiores a R$ 150,00: ";
    cout<<"salários que são inferiores a R$ 150,00: ";
}

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

ELE FUNCIONOU ASSIM, MAS N TENHO CERTEZA DE Q É CERTO.

#include <iostream>
using namespace std;
main () {
    float sal,q1,q2,q3;
    q1=0;
    q2=0;
    q3=0;
    
    do  {
        cout<<"Informe os salários:";
        cin>>sal;
        if (sal>1500){
            q1=q1+1;
        }
        if (sal<150){
            q2=q2+1;
        } else{
            q3=q3+1;
        }
        
    } while (sal-0);
    cout<<"salários superiores a R$ 1.500,00: "<<q1<<endl;
    cout<<"salários inferiores a R$ 150,00: "<<q2<<endl;
    cout<<"salários intermediários: "<<q3<<endl;
}

 

 

Link para o comentário
Compartilhar em outros sites

  • 0
#include <iostream>
using namespace std;
main () {
    float sal,q1,q2,q3;
    q1=0;
    q2=0;
    q3=0;
    
    do  {
        cout<<"Informe os salários:";
        cin>>sal;
        if (sal>1500){
            q1=q1+1;
        }
        if (sal<150){
            q2=q2+1;
        } else{
            q3=q3+1;
        }
        
    } while (sal-0);
    cout<<"salários superiores a R$ 1.500,00: "<<q1<<endl;
    cout<<"salários inferiores a R$ 150,00: "<<q2<<endl;
    cout<<"salários intermediários: "<<q3<<endl;
}

e agora?

Link para o comentário
Compartilhar em outros sites

  • 0
#include <iostream>
#include <locale>
using namespace std;

int main(void){
    setlocale(LC_ALL, "portuguese-brazilian");
    
    float sal, q1, q2, q3;
    q1 = 0;
    q2 = 0;
    q3 = 0;
    bool sair = false;
    do  {
        cout << "Informe os salário:";
        cin >> sal;
        
        if      ( sal == (float)0)  { sair = true; }
        else if ( sal > 1500     )  { q1 = q1 + 1; }
        else if ( sal < 150      )  { q2 = q2 + 1; }
        else                        { q3 = q3 + 1; }
        
    } while ( sair != true );
    
    cout << "salários superiores a R$ 1.500,00: " << q1 << endl;
    cout << "salários inferiores a R$ 150,00: " << q2 << endl;
    cout << "salários intermediários: " << q3 << endl;
}

Falha sua lógica. você não explicou o que quer assim que se não tiver correto sinto muito.
Ao parecer você quer que o usuário entre com um X numero de salários para saber quantos são maior que 1500 quantos são menor a 150 e quantos estão entre esses dois valores.

Quando for decidir se necesitas a if ou if/else if primeiro você deve se auto perguntar se o programa tem mais de uma resposta ou somente deveria ter mais respostas. Me explico... você quer saber se um salário é maior que 1500 e menor que 150 e ainda quer saber si sal é igual a zero? Ou você só quer saber se um salário é maior que 1500, ou saber se um salário é menor que 150 ou se o salário é diferente de 0? Nesse ultimo caso você deve usar if-if else. No primeiro caso você deve usar if. Por quê? O if else só pode haver uma das respostas, ao momento que o programa encontrar a resposta correta ele não vai avaliar as outras, e como se trata de averiguar uma das coisas e não todas essa alternativa é a melhor, porque um salário só pode ser uma coisa e não muitas. E tem mais... se o usuário escolher zero para sair isso vai contar como menor que 150, pois 0 obviamente é menor que 150. Então para esse caso acho que existem melhores mecanismos para deter isso, como o que você pode ver no código.

O programa também deve saber primeiro se o salário é ==0 porque si não vai cair antes no <150 dai não vai sair entendeu?

Para esse caso só pode haver uma resposta, está claro que a melhor alternativa é if/else if e não ifs separados.
 

 



 

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...