Advertisement
Guest User

Untitled

a guest
Feb 26th, 2020
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.41 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement