Ir ao conteúdo
  • Cadastre-se

C++ Problema com biblioteca ctime


Dário C.
Ir à solução Resolvido por allanxd,

Posts recomendados

Olá, eu estava trabalhando em um programa simples que pergunta a data de nascimento e retorna a idade e para ficar mais sofisticado eu inclui um código que usa a biblioteca ctime para pegar o horário do sistema. Porém, ao executar, o variável Mes que armazena o mês indicado no horário do sistema muda subitamente ao longo do programa.

#include <iostream>
#include <stdlib.h>
#include <ctime>
using namespace std;

int main()
{
	time_t timer;
	struct tm *horario;
	time(&timer);
	horario = localtime(&timer);
	int Ano = horario->tm_year + 1900;
	int Mes = horario->tm_mon + 1;
	int Dia = horario->tm_mday;
	int ano;
	int dia;
	int mes;
	int age;
  
	system("@echo off&color 0a&cls");
	cout << "\nInforme o dia do seu nascimento\n\n";
	cin >> dia;
	system("cls");
	cout << "\nInforme o mes do seu nascimento "
		 << "conforme tabela abaixo:\n\n"
		 << "Janeiro = 1\nFevereiro = 2\nMarco = 3\nAbril = 4\n"
		 << "Maio = 5\nJunho = 6\nJulho = 7\nAgosto = 8\n"
		 << "Setembro = 9\nOutubro = 10\nNovembro = 11\n"
		 << "Dezembro = 12\n\n";
	cin >> mes;
	system("cls");
	cout << "\nInforme o ano do seu nascimento:\n\n";
	cin >> ano;
	system("cls");
	int dAno = Ano - ano;
	if((Mes < mes) || ((Mes = mes) && (Dia < dia)))
	{
		age = dAno - 1;
		cout << "\nVoce nasceu em: " << dia << "/" << mes << "/" << ano
			 << "\nHoje e: " << Dia << "/" << Mes << "/" << Ano
			 << "\nA sua idade e: " << age << endl;
	}
	else
	{
		age = dAno;
		cout << "\nVoce nasceu em: " << dia << "/" << mes << "/" << ano << endl
			 << "\nHoje e: " << Dia << "/" << Mes << "/" << Ano << endl
			 << "\nA sua idade e: " << age << endl;
	}
	return 0;
}

Estou usando o Falcon C++ 3.3 como compilador e Windows 7 Starter como SO. Estou quase certo que nem o antivírus nem o firewall estão causando conflito.

Alguma ideia do que está causando o problema?

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...