Ir ao conteúdo
  • Cadastre-se
Dário C.

C++ RESOLVIDO Problema com biblioteca ctime

Recommended Posts

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?

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

No if você está fazendo Mes = mes. Talvez seria Mes == mes?

  • Obrigado 2

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

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

×