Advertisement
KingAesthetic

C++ Example 2

Aug 12th, 2024 (edited)
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.17 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <algorithm>
  5.  
  6. // Kaizer here. I created a phonebook in C++ displaying contact names, with the ability to search for existing contacts, delete contacts, e.t.c.
  7.  
  8. class Contact {
  9. public:
  10.     Contact(const std::string& name, const std::string& phone_number, const std::string& email)
  11.             : name(name), phone_number(phone_number), email(email) {}
  12.  
  13.     std::string getName() const { return name; }
  14.     std::string getPhoneNumber() const { return phone_number; }
  15.     std::string getEmail() const { return email; }
  16.  
  17.     void display() const {
  18.         std::cout << "Name: " << name << ", Phone: " << phone_number << ", Email: " << email << std::endl;
  19.     }
  20.  
  21. private:
  22.     std::string name;
  23.     std::string phone_number;
  24.     std::string email;
  25. };
  26.  
  27. class Phonebook {
  28. public:
  29.     void addContact(const std::string& name, const std::string& phone_number, const std::string& email) {
  30.         contacts.emplace_back(name, phone_number, email);
  31.         std::cout << "Contact " << name << " added successfully." << std::endl;
  32.     }
  33.  
  34.     void deleteContact(const std::string& name) {
  35.         auto it = std::remove_if(contacts.begin(), contacts.end(),
  36.                                  [name](const Contact& contact) { return contact.getName() == name; });
  37.  
  38.         if (it != contacts.end()) {
  39.             contacts.erase(it);
  40.             std::cout << "Contact " << name << " deleted successfully." << std::endl;
  41.         } else {
  42.             std::cout << "Contact " << name << " not found." << std::endl;
  43.         }
  44.     }
  45.  
  46.     void searchContact(const std::string& name) const {
  47.         auto it = std::find_if(contacts.begin(), contacts.end(),
  48.                                [name](const Contact& contact) { return contact.getName() == name; });
  49.  
  50.         if (it != contacts.end()) {
  51.             std::cout << "Contact found:" << std::endl;
  52.             it->display();
  53.         } else {
  54.             std::cout << "Contact " << name << " not found." << std::endl;
  55.         }
  56.     }
  57.  
  58.     void displayContacts() const {
  59.         if (contacts.empty()) {
  60.             std::cout << "No contacts in the phonebook." << std::endl;
  61.         } else {
  62.             std::cout << "Contacts in the phonebook:" << std::endl;
  63.             for (const auto& contact : contacts) {
  64.                 contact.display();
  65.             }
  66.         }
  67.     }
  68.  
  69. private:
  70.     std::vector<Contact> contacts;
  71. };
  72.  
  73. int main() {
  74.     Phonebook phonebook;
  75.     phonebook.addContact("HiddenKesh", "357-323-112", "kesh@hiddendevs.com");
  76.     phonebook.addContact("KaizerTiger", "777-777-777", "solocord@hiddendevs.com");
  77.     phonebook.addContact("SoloCord", "212-478-098", "solocord@hiddendevs.com");
  78.     phonebook.addContact("YingYang", "676-874-679", "solocord@hiddendevs.com");
  79.     phonebook.addContact("PictureFolder", "345-100-094", "solocord@hiddendevs.com");
  80.     phonebook.displayContacts();
  81.     phonebook.searchContact("HiddenKesh");
  82.     phonebook.deleteContact("SoloCord");
  83.     phonebook.displayContacts();
  84.     phonebook.searchContact("YingYang");
  85.     phonebook.deleteContact("PictureFolder");
  86.     phonebook.searchContact("BartholomewJohnsonIII");
  87.  
  88.     return 0;
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement