From 9dd4721d1df3d9c6a78b0c238ee649e6c9ab4b97 Mon Sep 17 00:00:00 2001 From: victorleroch Date: Tue, 26 May 2020 17:14:38 +0200 Subject: [PATCH] Ajout getAge tortue --- app/include/Tortue.h | 2 +- app/src/Tortue.cpp | 47 +++++++++++++++++++++++++++++++++++++------- 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/app/include/Tortue.h b/app/include/Tortue.h index adc8b7c..0ae77dc 100644 --- a/app/include/Tortue.h +++ b/app/include/Tortue.h @@ -30,7 +30,7 @@ public: static int getNbTortue(); std::string getNaissance() const; - int getAge() const; + std::string getAge() const; const std::string &getSexe() const; std::string getInfo(); diff --git a/app/src/Tortue.cpp b/app/src/Tortue.cpp index bac34e5..5d597b0 100644 --- a/app/src/Tortue.cpp +++ b/app/src/Tortue.cpp @@ -14,13 +14,46 @@ Tortue::Tortue(const string &nom, const string &sexe) : nom(nom), sexe(sexe) { nbTortue ++; } -/*int Tortue::getAge() const { - int ageSec = std::time(nullptr) - naissance; - int ageHour = ageSec/(60*60); - int ageDay = ageHour/24; - int age = ageDay / 365.25; - return age; -}*/ +std::string Tortue::getAge() const { + + time_t rawtime; + + struct tm * timeinfo ; + std::string date = naissance; + std::string message =""; + + int annee = std::stoi(date.substr(6,9)); + int mois = std::stoi(date.substr(3,4)); + int jour = std::stoi(date.substr(0,2)); + int h = 0; + int m = 0; + int s = 0; + + time(&rawtime); + timeinfo = localtime(&rawtime); + timeinfo->tm_year = annee - 1900; + timeinfo->tm_mon= mois - 1; + timeinfo->tm_mday = jour; + timeinfo->tm_hour = h; + timeinfo->tm_min = m; + timeinfo->tm_sec = s; + + + long naiss =std::mktime(timeinfo); +//std::cout << naiss << std::endl; + + + std::time_t now = std::time(nullptr); + long time = now - naiss; + //std::cout << time <