Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
Marcio Roberto Cordeiro

C Retornar o ano atual no sistema e exibir na tela em C

Recommended Posts

O comando a baixo utiliza-se da biblioteca time.h para retornar do sistema o ano atual, permitindo atribuir este retorno a uma variável do tipo inteira e exibir o mesmo na tela. Este recurso poderá ser muito útil quando o programador queira utilizar o ano atual para definir algum resultado.

 

Exemplo: Programa que calcula a idade do usuário, subtraindo o ano atual pelo ano de nascimento do usuário.

 

#include <stdio.h>
#include <stdlib.h>
#include <time.h>//Biblioteca com comandos de data e hora

int main()
{

    int anoAtual;//Esta variável foi criada para receber o resultado do comando que exibe o ano atual.
    time_t data_ano;//Foi criada uma variável chamada data_ano que é do tipo time_t que é um tipo de variável que recebe valores de data e hora.
    time(&data_ano);
  
    struct tm *data = localtime(&data_ano);

    anoAtual = (data->tm_year+1900);    

    printf("%d\n",anoAtual);
    return 0;
}

 

Editado por grievous
Cor editada e adicionado CODE.
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Marcio Roberto Cordeiro   em c é melhor usar essa função aqui :

#include <time.h>
char data[9],hora[9],c[3];
_strdate(data);
_strtime(hora);
printf("Data --> %s\n",data);
printf("Hora --> %s\n",hora);

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado caro amigo. O problema é que este comando mencionado por você, dá o resultado como caractere, não permitindo efetuar calculos com o mesmo. Eu já tinha efetuado este comando logo quando escrevi o meu programinha. Mas eu não pude efetuar o calculo que eu precisava, então eu fiz este segundo que retorna a data como um tipo numérico real. Mas agradeço mesmo assim. :thumbsup:

Editado por Marcio Roberto Cordeiro
Elucidando.
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se for sistema Windows um jeito simples de fazer isso no C é usar a estrutura SYSTEMTIME presente no windows.h

 

https://msdn.microsoft.com/pt-br/library/windows/desktop/ms724950(v=vs.85).aspx

 

Isso que você quer fazer fica +/- assim:

 

#include <windows.h>
#include <stdio.h>

int main()
{
    SYSTEMTIME str_t;
	GetSystemTime(&str_t);

    int anoAtual = str_t.wYear;

    printf("%d\n",anoAtual);
    return 0;
}

 

 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Marcio Roberto Cordeiro    desculpe,  pensei que você estivesse pedindo uma ajuda e não observei que você estava é dando uma solução, e seu código funciona bem, mas o que postei também, o que precisa é fazer a adaptação adequada , transformando o char para inteiro usando para isso a função atoi  assim  :

#include <time.h>
char data[9],hora[9],c[3];
int dia,mes,ano;
_strdate(data);
_strtime(hora);
c[0]=data[3];
c[1]=data[4];
dia =atoi(c);
c[0]=data[0];
c[1]=data[1];
mes =atoi(c);
c[0]=data[6];
c[1]=data[7];
ano =atoi(c);
printf("A Data Em Portugues --------> %d/%d/%d\n",dia,mes,ano);

assim o dia, mês e ano são variáveis do tipo inteiro e podem ser usadas em operações matemáticas, apenas que o ano terá apenas os dois dígitos finais e os dois iniciais terão que ser inseridos de acordo com a necessidade .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×