modulo 3 – vídeo 2 (Capturando data)

Home Fóruns Linguagem C modulo 3 – vídeo 2 (Capturando data)

Visualizando 1 resposta da discussão
  • Autor
    Posts
    • #66057
      LUCIENE FREITAS
      Participante

      Referente ao ano de 1900, dá erro. Para o ano de 2021 tenho que colocar 1952.

      void main (){
      time_t t;
      struct tm*data;
      data = localtime (&t);
      int ano = data -> tm_year + 1952;

      int nasc;
      printf (“Em que ano voce nasceu? “);
      fflush (stdin);
      scanf (“%i”, &nasc);

      int idade = ano – nasc;
      printf (“———————————————————————\n”);
      printf (“Voce tem %d anos, certo?\nSeja bem-vindo(a) ao Banco X!\n”, idade);

      if (idade >=65) {

      printf (“==========ATENCAO!! DIRIJA-SE PARA A FILA PREFERENCIAL!==========\n”);
      }

      printf (“\n———————————————————————\n”);

      }

    • #66367
      Tutora Mayla
      Mestre

      Luciene, este erro ocorre pois a sua variável time_t t não foi inicializada e, por isso, a função localtime não funciona corretamente, retornando um valor incorreto.

      Para solucionar este problema, inicialize t da seguinte forma: time_t t = time(NULL);. Isto fará com que a variável armazene o horário atual do computador e então a função localtime irá realizar o desejado. Com isso resta apenas mudar o ano de 1952 para 1900 que o código deverá funcionar normalmente.

      Espero ter ajudado, quaisquer outras dúvidas basta entrar em contato.

Visualizando 1 resposta da discussão
  • Você deve fazer login para responder a este tópico.