Ir ao conteúdo
  • Cadastre-se

C++ Somar uma data a data do sistema e imprimir na tela.


Posts recomendados

Boa tarde pessoal,

estou com um problema no programa que estou desenvolvendo para meu trabalho da universidade. eu preciso que meu programa imprima na tela uma data somada a data do sistema:

 

O programa é um sistema de locação de veiculos e preciso que programa some os dias de locação de veiculo com a data do sistema(horario do computador mesmo):

 

exemplo:

 

printf("por quantos dias você quer alugar o veiculo?");

scanf("%d", variavel);

printf("a data de devolução do veiculo é:(Somar o numero de dias citado acima com a data atual do sistema)"

desde já agradeço pessoal.

(esse é o meu primeiro post, Desculpe se há algo de errado).

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Murillo Pereira da Silva    para pegar a data do sistema você precisa usar a função _strdate  que está no biblioteca time.h  então o código seria assim :

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
char data[9];
char hora[9]; 
char c[3];/*um a mais para o caractere nulo  \0*/
int dia;
int main(){
    setlocale(LC_ALL,"");
    _strdate(data); /*isso pega a data do sistema*/
    _strtime(hora); /*isso pega a hora do sistema*/
    printf( "A data atual em inglês é %s \n",data);
    printf( "A hora atual é %s \n\n",hora);
    return 0;
}

e para somar a data você precisa converter de array para inteiro usando a função atoi  assim :

c[0]=data[3];
c[1]=data[4];
dia=atoi(c);

printf("o dia da devolução é %d",variavel+dia);

e precisa também calcular quando a soma dos dia passa de 30, então precisa somar o mês, e se for mês de 31 dias ou 28 ou 29 precisa verificar isso também .

Link para o comentário
Compartilhar em outros sites

@Murillo Pereira da Silva      atoi significa array para inteiro  assim se você tem uma string, essa string é um array e se nessa string tiver os caracteres 1 e 5 e você mandar imprimir ele vai imprimir o número 15 , mas se você quiser multiplicar esse 15 por 10 aí dá erro pois não pode fazer cálculos usando string, então essa função passa de string para inteiro e então você pode fazer essa multiplicação  15 * 10 = 150 .    e se você tiver um inteiro e quiser passar para string, então use a função itoa assim :

 itoa (numero_inteiro , nome_da_string , 10);

isso converte o número inteiro em string  e coloca no nome da string e o 10 significa que é na base 10, decimal,  se for 8 é na base octal, se for 16 é na base hexadecimal ou se for 2 é binário,   mas essas outras base dificilmente se usa . 

  e a setlocale(LC_ALL,"");   junto com a biblioteca locale.h  serve para escrever na tela com padrão  português ,  podendo colocar  ç e acentuação . apenas as variáveis não pode receber dados com esse caracteres ç e acentuação .

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...