Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Personne.cpp
- *
- * Created on: 2020-02-25
- * Author: Ariel Carignan
- */
- #include <string>
- #include <iostream>
- #include <sstream>
- #include "Date.h"
- #include "validationFormat.h"
- class Personne{
- public:
- void asgDateNaissance(util::Date dateNaissance)
- {
- m_dateNaissance = dateNaissance;
- }
- void asgNom(const std::string nom)
- {
- m_nom = nom;
- }
- void asgPrenom(const std::string prenom)
- {
- m_prenom = prenom;
- }
- void asgTelephone(const std::string telephone)
- {
- m_telephone = telephone;
- }
- util::Date reqDateNaissance() const
- {
- return m_dateNaissance;
- }
- const std::string& reqNom() const
- {
- return m_nom;
- }
- const std::string& reqPrenom() const
- {
- return m_prenom;
- }
- const std::string& reqTelephone() const
- {
- return m_telephone;
- }
- private:
- std::string m_nom;
- std::string m_prenom;
- util::Date m_dateNaissance;
- std::string m_telephone;
- /**
- * Constructeur de la classe
- * \param nom Nom de famille de la personne
- * \param prenom Prenom de la personne
- * \param date Date de naissance de la personne
- * \param telephone Telephone de la personne
- */
- public:
- Personne(std::string nom, std::string prenom,util::Date date, std::string telephone){
- asgNom(nom);
- asgPrenom(prenom);
- asgDateNaissance(date);
- asgTelephone(telephone);
- }
- /**
- * Permet de changer le numero de la personne
- * \param num Nouveau numero de telephone de la personne
- */
- void NouveauNumero(std::string num){
- if (util::validerTelephone(num)) {
- asgTelephone(num);
- }
- else
- std::cout << "Le numero n'est pas valide";
- }
- /**
- * Retourne un string décrivant la personne
- */
- std::string reqPersonneFormate(){
- std::ostringstream oss;
- oss << "Nom: " << reqNom();
- oss << "Prénom: " << reqPrenom();
- oss << "Date de naissance: " << reqDateNaissance().reqDateFormatee();
- oss << "Telephone: " << reqTelephone();
- return oss.str();
- }
- /**
- * Permet de comparer deux personnes
- */
- bool operator== (Personne per){
- if(per.reqNom() == reqNom() and
- per.reqPrenom() == reqPrenom() and
- per.reqDateNaissance() == reqDateNaissance())
- return true;
- else
- return false;
- }
- };
- int Main(){
- std::string nom;
- std::string prenom;
- std::string num;
- std::string jour;
- std::string mois;
- std::string annee;
- util::Date date;
- std::cout << "Entrez le nom de la personne\n";
- while(true){
- std::cin >> nom;
- if (util::validerFormatNom(nom)) {
- break;
- }
- std::cout << "Nom non valide\n";
- }
- std::cout << "Entrez le prénom de la personne\n";
- while(true){
- std::cin >> prenom;
- if (util::validerFormatNom(prenom)) {
- break;
- }
- std::cout << "Prénom non valide\n";
- }
- std::cout << "Entrez le numéro de téléphone de la personne\n";
- while(true){
- std::cin >> num;
- if (util::validerTelephone(num)) {
- break;
- }
- std::cout << "Numéro de téléphone non valide\n";
- }
- while(true){
- std::cout << "Entrer le jour de naissance de la personne\n";
- std::cin >> jour;
- std::cout << "Entrer le mois de naissance de la personne en chiffre\n";
- std::cin >> mois;
- std::cout << "Entrer l'année de naissance de la personne\n";
- std::cin >> annee;
- if (date.validerDate(std::stoi(jour), std::stoi(mois), std::stoi(annee)))
- break;
- }
- util::Date dateNaissance(std::stoi(jour), std::stoi(mois), std::stoi(annee));
- Personne personne
- { prenom, nom, dateNaissance, num };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement