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:  
endo

armazenar data em variavel C

Recommended Posts

Oi pessoal esto com um problema em um dos meu programas, ele e bem facinho só que meu tempo está estourando para terminar ele, se alguém poder ajudar seira ótimo.

eu gostaria de armazenar em uma variavel a data atual de uma operação estou usando o copilador DEV C++ a velha linguagem C, estava fazendo assim

variavel = system ("date /t"); só que não funciona todo meu problema e esse.

quero a variavel com a data para depos usar essa data para calcular o juros de dias de atraso.

muito obrigado mesmo pela ajuda.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
Cara... Acredito que isso possa vir a ser útil. é em c++, mas pode ser adaptado para c. trocando o cout<< por printf e outros..

http://www.cplusplus.com/forum/beginner/6397/

Oi lucaswb muito obrigado pela ajuda, mas deixa eu explicar um pouco melhor o que to querendo.

tenho necessidade nesse programa só de armazenar a data em uma variavel para com ela fazer um calculo dentro do programa de um juros de atraso de pagamento, a data não pressisa ser impressa na tela. Quanto tenho a necessidade de imprimila uso o system ("date"); .

obrigado mais uma vez.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <time.h>
#include <stdio.h>

// pega a data e hora atual e imprime na tela
int main()
{
char dateStr[9];
char timeStr[9];

// pega a data atual
_strdate( dateStr);
printf_s( "The current date is %s \n", dateStr);

// pega a hora atual
_strtime( timeStr );
printf_s( "The current time is %s \n", timeStr);

getchar();
return 0;
}

Tenha cuidado com a data! o formato é americano e por isso primeiro vem assim: mm/dd/aa

Estou trabalhando numa forma de guardar os dados em uma struct para ficar mais fácil de calcular já posto aqui o resultado

Editado por Leonardo Bos
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui está o código que guarda a data em uma struct, facilita a sua vida no cáculo agora:

#include <time.h>
#include <stdio.h>
#include <stdlib.h>

struct Data
{
int dia;
int mes;
int ano;
};

void ParseData(char str[9], Data *Alvo)
{
// 0, 1 = mes
// 2 = /
// 3, 4 = dia
// 5 = /
// 6, 7 = ano
// 8 = NULO
char _dia[3] = {
str[3],
str[4],
0
};
char _mes[3] = {
str[0],
str[1],
0
};
char _ano[3] = {
str[6],
str[7],
0
};
Alvo->dia = atoi(_dia);
Alvo->mes = atoi(_mes);
Alvo->ano = atoi(_ano);
return;
}

int main()
{
char dateStr[9];

// pega a data atual
_strdate( dateStr);
printf_s( "The current date is %s \n", dateStr);

Data atual;
ParseData(dateStr, &atual);

printf_s("A data está guarda na variavel 'atual'\n");

// exemplo de como acessar a data atual
int a = atual.ano;
int b = atual.dia;
int c = atual.mes;

printf_s("por exemplo o dia atraves de int b: %i\n", ;

getchar();
return 0;
}

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Richie_Mata      para rodar esse código no codeblocks você precisa colocar ele como programa em c, pois se colocar com c++ ele não reconhece a função :

_strdate(); 

e também precisa colocar a palavra struct antes de

Data *Alvo

 e

Data atual

 e o printf não pode ter esse _s senão não funciona ,  e também remover esses comentários do programa .

Editado por devair1010

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que assim fica bem melhor: 

 

#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

typedef struct Data
{
    int dia;
    int mes;
    int ano;
};

void  ParseData(char str[9],struct Data *Alvo)
{
    char _dia[3] = {str[3],str[4],0};
    char _mes[3] = {str[0],str[1],0};
    char _ano[3] = {str[6],str[7],0};
    Alvo->dia = atoi(_dia);
    Alvo->mes = atoi(_mes);
    Alvo->ano = atoi(_ano);
    return;
}

int main()
{
    setlocale(LC_ALL,"portuguese");
    char dateStr[9];

    // pega a data atual
    _strdate( dateStr);
    printf( "A corente data é: %s \n", dateStr);

    struct Data atual;
    ParseData(dateStr, &atual);

    printf("A data está guarda na variavel 'atual'\n");

    // exemplo de como acessar a data atual
    int a = atual.ano;
    int b = atual.dia;
    int c = atual.mes;

    printf("por exemplo o dia atraves de int b: %i\n");

    getchar();
    return 0;
}
 

Editado por Pedro M. Martins

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então vou compartilhar mais uma maneira de fazer esta tarefa no Windows e outros.

 

Lendo DATA:

#include <stdio.h>
#include <time.h>
int main(void) {
    struct tm agora_data= {0};
    time_t tempo_data;

    time(&tempo_data);
    agora_data = *localtime(&tempo_data);

    puts("<?> Tempo agora");
    printf("<!>Agora-Dia: %d\n",agora_data.tm_mday);
    printf("<!>Agora-Mes: %d\n",agora_data.tm_mon+1);
    printf("<!>Agora-Ano: %d\n\n",agora_data.tm_year+1900);

    printf("<!>Agora-Hora: %d\n",agora_data.tm_hour);
    printf("<!>Agora-Min: %d\n",agora_data.tm_min);
    printf("<!>Agora-Seg: %d\n\n",agora_data.tm_sec);
    return 0;
    }

 

Editado por Mauro Britivaldo
É portável

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






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

×