Jump to content
Fórum Script Brasil
  • 0

Duvida Básica em C


BrunoZavanin

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...