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

Duvida Básica em C


BrunoZavanin

Pergunta

Olá, estou com uma dúvida que para muitos pode ser básica, estou no primeiro ano de programação e o programa que eu preciso desenvolver é que ele leia as horas informada pelo usuario em Horas, Minutos e Segundos e imprima na tela se é Manhã, tarde ou noite, porém eu queria que pudessem realizar a operação digitando as horas em formato HH:MM:Seg.

No caso o prof disse pra classe fazer três estruturas onde na primeira o computador pede a hora em seguida os minutos na sequencia os segundos, mas... se tiver como ele fazer dessa forma onde o usuario já escreva de uma unica vez seria mais fácil... muito obrigado a quem me ajudar !!!

Alg_Horas.C

#include <stdio.h>

    int main (){
        int horas, minutos, segundos;
        
            printf("Ola, Digite as horas atuais:\n");
            //Ira ler as horas, os minutos e os segundos//
            scanf("%d:%d:%d", &horas, &minutos, &segundos);
            
            // Estrutura para ver se é manhã, tarde ou noite! //
            if (horas>18 minutos==00 segundos==00)
                printf("Boa noite!")
            else {
                if (horas>12, minutos==00, segundos==00)
                    printf("Bom Tarde !")
                else
                    printf("Boa Dia!")
                
            }
        
        getchar ();
        getchar ();
        return 0;
    }

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Opa, beleza?

Basicamente os minutos e segundos não influenciam pra determinar se é dia, tarde ou noite. Seu scanf já funciona caso você digite algo no formato hh:mm:ss. Daí é só fazer uma checagem de hora válida:

#include <stdio.h>

int main (){
    int horas, minutos, segundos;

        printf("Ola, Digite as horas atuais:\n");
        //Ira ler as horas, os minutos e os segundos//
        scanf("%d:%d:%d", &horas, &minutos, &segundos);

        if ((horas < 0 || horas > 23) || (minutos < 0 || minutos > 59) || (segundos < 0 || segundos > 59))
        {
            printf("Hora invalida");
            return 1;
        }
        // Estrutura para ver se é manhã, tarde ou noite! //
        if (horas >= 18)
            printf("Boa noite!");
        else if (horas >= 12)
            printf("Boa Tarde!");
        else
            printf("Bom Dia!");
    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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...