SHARE
TWEET

Untitled

a guest Feb 26th, 2020 87 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  * Personne.cpp
  3.  *
  4.  *  Created on: 2020-02-25
  5.  *      Author: Ariel Carignan
  6.  */
  7.  
  8. #include <string>
  9. #include <iostream>
  10. #include <sstream>
  11. #include "Date.h"
  12. #include "validationFormat.h"
  13.  
  14.  
  15. class Personne{
  16. public:
  17.     void asgDateNaissance(util::Date dateNaissance)
  18.     {
  19.         m_dateNaissance = dateNaissance;
  20.     }
  21.  
  22.     void asgNom(const std::string nom)
  23.     {
  24.         m_nom = nom;
  25.     }
  26.  
  27.     void asgPrenom(const std::string prenom)
  28.     {
  29.         m_prenom = prenom;
  30.     }
  31.  
  32.     void asgTelephone(const std::string telephone)
  33.     {
  34.         m_telephone = telephone;
  35.     }
  36.  
  37.     util::Date reqDateNaissance() const
  38.     {
  39.         return m_dateNaissance;
  40.     }
  41.  
  42.     const std::string& reqNom() const
  43.     {
  44.         return m_nom;
  45.     }
  46.  
  47.     const std::string& reqPrenom() const
  48.     {
  49.         return m_prenom;
  50.     }
  51.  
  52.     const std::string& reqTelephone() const
  53.     {
  54.         return m_telephone;
  55.     }
  56.  
  57. private:
  58. std::string m_nom;
  59. std::string m_prenom;
  60. util::Date m_dateNaissance;
  61. std::string m_telephone;
  62.  
  63. /**
  64.  * Constructeur de la classe
  65.  * \param nom Nom de famille de la personne
  66.  * \param prenom Prenom de la personne
  67.  * \param date Date de naissance de la personne
  68.  * \param telephone Telephone de la personne
  69.  */
  70. public:
  71. Personne(std::string nom, std::string prenom,util::Date date, std::string telephone){
  72.     asgNom(nom);
  73.     asgPrenom(prenom);
  74.     asgDateNaissance(date);
  75.     asgTelephone(telephone);
  76. }
  77. /**
  78.  * Permet de changer le numero de la personne
  79.  * \param num Nouveau numero de telephone de la personne
  80.  */
  81. void NouveauNumero(std::string num){
  82.     if (util::validerTelephone(num)) {
  83.         asgTelephone(num);
  84.     }
  85.     else
  86.         std::cout << "Le numero n'est pas valide";
  87. }
  88. /**
  89.  * Retourne un string décrivant la personne
  90.  */
  91. std::string reqPersonneFormate(){
  92.     std::ostringstream oss;
  93.     oss << "Nom: " << reqNom();
  94.     oss << "Prénom: " << reqPrenom();
  95.     oss << "Date de naissance: " << reqDateNaissance().reqDateFormatee();
  96.     oss << "Telephone: " << reqTelephone();
  97.     return oss.str();
  98. }
  99. /**
  100.  * Permet de comparer deux personnes
  101.  */
  102. bool operator== (Personne per){
  103.     if(per.reqNom() == reqNom() and
  104.         per.reqPrenom() == reqPrenom() and
  105.         per.reqDateNaissance() == reqDateNaissance())
  106.         return true;
  107.     else
  108.         return false;
  109. }
  110. };
  111.  
  112. int Main(){
  113.     std::string nom;
  114.     std::string prenom;
  115.     std::string num;
  116.     std::string jour;
  117.     std::string mois;
  118.     std::string annee;
  119.     util::Date date;
  120.  
  121.     std::cout << "Entrez le nom de la personne\n";
  122.  
  123.     while(true){
  124.         std::cin >> nom;
  125.         if (util::validerFormatNom(nom)) {
  126.             break;
  127.         }
  128.         std::cout << "Nom non valide\n";
  129.     }
  130.  
  131.     std::cout << "Entrez le prénom de la personne\n";
  132.     while(true){
  133.             std::cin >> prenom;
  134.             if (util::validerFormatNom(prenom)) {
  135.                 break;
  136.             }
  137.             std::cout << "Prénom non valide\n";
  138.         }
  139.  
  140.     std::cout << "Entrez le numéro de téléphone de la personne\n";
  141.     while(true){
  142.             std::cin >> num;
  143.             if (util::validerTelephone(num)) {
  144.                 break;
  145.             }
  146.             std::cout << "Numéro de téléphone non valide\n";
  147.         }
  148.  
  149.     while(true){
  150.         std::cout << "Entrer le jour de naissance de la personne\n";
  151.         std::cin >> jour;
  152.  
  153.         std::cout << "Entrer le mois de naissance de la personne en chiffre\n";
  154.         std::cin >> mois;
  155.  
  156.         std::cout << "Entrer l'année de naissance de la personne\n";
  157.         std::cin >> annee;
  158.  
  159.         if (date.validerDate(std::stoi(jour), std::stoi(mois), std::stoi(annee)))
  160.             break;
  161.         }
  162.  
  163.         util::Date dateNaissance(std::stoi(jour), std::stoi(mois), std::stoi(annee));
  164.     Personne personne
  165.     { prenom, nom, dateNaissance, num };
  166.  
  167.     }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top