Advertisement
chevengur

Chapter 6: exercise 4

Aug 21st, 2023 (edited)
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.19 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4.  
  5. class Name_value {
  6. public:
  7.     Name_value(std::string name, int age) : name_(name), age_(age) {
  8.     }
  9.     std::string name_;
  10.     int age_;
  11. };
  12.  
  13. int main() {
  14.     std::vector<Name_value> person;
  15.     Name_value inf("Noname", 25);
  16.     bool isNoNameEntered = false;
  17.  
  18.     do {
  19.         std::cin >> inf.name_;
  20.         if (inf.name_ == "NoName") {
  21.             isNoNameEntered = true;
  22.             break;
  23.         }
  24.         std::cin >> inf.age_;
  25.  
  26.         bool duplicate_name = false;
  27.         for (const auto& l : person) {
  28.             if (inf.name_ == l.name_) {
  29.                 duplicate_name = true;
  30.                 break;
  31.             }
  32.         }
  33.         if (duplicate_name) {
  34.             std::cout << "Error: Name already exists!" << std::endl;
  35.         }
  36.         else {
  37.             person.push_back(inf);
  38.         }
  39.     } while (true);
  40.  
  41.     if (isNoNameEntered) {
  42.         for (const auto& info : person) {
  43.             std::cout << "Name: " << info.name_ << " Age: " << info.age_ << std::endl;
  44.         }
  45.     }
  46.     else {
  47.         std::cout << "NoName entered before printing the result." << std::endl;
  48.     }
  49.  
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement