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

Programa só volta primeira if


Rockwell

Pergunta

Alguém por favor, pode explicar pra mim, onde estou errando?

quando eu rodo o programa, ele só volta o primeiro if, indiferente do que eu digitar.

#include <iostream>

#include <stdlib.h>

#include <conio.h>

using namespace std;

int main (void)

{

int a;

cout << "DGT a hora que você inicia: ";

cin >> a;

{

if (7 || 8 || 9 || 10 || 11 || 12 == a)

{

cout << "Seu turno e das 5hs as 12,59hs" << endl;

}

else if (13 || 14 || 15 || 16 || 17 || 18 || 19 || 20 == a)

{

cout << "Seu turno e das 13hs as 20,59hs" << endl;

}

else if (21 || 22 || 23 || 24 || 1 || 2 || 3 || 4 || 5 || 6 == a)

{

cout << "Seu turno e das 21hs as 6:59hs" << endl;

}

}

getch();

return 0;

}

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olá, você tem 1 par extra de chaves e as suas declarações no if estão erradas.

O seu código deveria ficar da seguinte forma:

#include <iostream>
#include <stdlib.h>
#include <conio.h>
using namespace std;
int main (void)
{
int a;
cout << "DGT a hora que você inicia: ";
cin >> a;
if (a == 7 || a == 8 || a == 9 || a == 10 || a == 11 || a == 12)
{
cout << "Seu turno e das 5hs as 12,59hs" << endl;
}
else if (a == 13 || a ==  14 || a ==  15 || a == 16 || a == 17 || a == 18 || a == 19 || a == 20)
{
cout << "Seu turno e das 13hs as 20,59hs" << endl;
}
else if ( a == 21 || a == 22 || a == 23 || a == 24 || a == 1 || a == 2 || a == 3 || a == 4 || a == 5 || a == 6)
{
cout << "Seu turno e das 21hs as 6:59hs" << endl;
}
getch();
return 0;
}
E para os acentos funcionarem coloque esse código no começo da sua main:
setlocale(LC_ALL, "Portuguese");

Não se esqueça de incluir a biblioteca locale no começo do seu programa (#include <locale>

Att.,

Pedro Cunha

Editado por PedroCunha
Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

Ótima resposta Pedro, é isso mesmo! :)

Apenas para complementar: nesse caso eu usaria o switch. Ficaria muito mais fácil para ler o código, simplificando a sua manutenção:

#include <iostream>
#include <stdlib.h>
#include <conio.h>
using namespace std;
int main (void)
{
    int a;
    cout << "DGT a hora que você inicia: ";
    cin >> a;

    switch(a) {
        case 7:
        case 8:
        case 9:
        case 10:
        case 11:
        case 12:
            cout << "Seu turno e das 5hs as 12,59hs" << endl;
            break;

        case 13:
        case 14:
        case 15:
        case 16:
        case 17:
        case 18:
        case 19:
        case 20:
            cout << "Seu turno e das 13hs as 20,59hs" << endl;
            break;

        case 21:
        case 22:
        case 23:
        case 24:
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
        case 6:
            cout << "Seu turno e das 21hs as 6:59hs" << endl;
            break;

        default:
            cout << "hora inválida!" << endl;
            break;
    }

getch();
return 0;
}

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