Advertisement
Guest User

Untitled

a guest
Feb 26th, 2020
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.04 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4.  
  5. struct contact {
  6.     std::string name;
  7.     std::string mobile;
  8.     std::string address;
  9.     std::string email;
  10. };
  11.  
  12. void menu() {
  13.     std::cout << "\t\t\tCONTACTS\t\t\t" << std::endl;
  14.     std::cout << "1) New a contact " << std::endl;
  15.     std::cout << "2) See a contact " << std::endl;
  16.     std::cout << "3) Delete a contact " << std::endl;
  17.     std::cout << "3) Change a contact " << std::endl;
  18. }
  19.  
  20. int main() {
  21.     int k = 0;
  22.     int j = 0;
  23.     int q = 0;
  24.     int z = 0;
  25.     int n_change = 0;
  26.     std::vector <contact> user;
  27.  
  28.     while (true) {
  29.         menu();
  30.         while (true) {
  31.             std::string a;
  32.             getline(std::cin, a);
  33.             //добавление контакта
  34.             if (a == "1") {
  35.                 k++;
  36.                 user.resize(k);
  37.                 std::cout << "\nNAME: ";
  38.                 getline(std::cin, user[q].name);
  39.  
  40.                 std::cout << "\nMOBILE: ";
  41.                 getline(std::cin, user[q].mobile);
  42.  
  43.                 std::cout << "\nADDRESS: ";
  44.                 getline(std::cin, user[q].address);
  45.  
  46.                 std::cout << "\nEMAIL: ";
  47.                 getline(std::cin, user[q].email);
  48.  
  49.                 //проверка памяти 1
  50.                 //std::cout << "Fist size: " << user.size() << std::endl;
  51.  
  52.                 if (user[q].name.empty()) {
  53.                     if (user[q].mobile.empty()) {
  54.                         if (user[q].address.empty()) {
  55.                             if (user[q].email.empty()) {
  56.                                 z++;
  57.                                 user.resize(k - z);
  58.                             }
  59.                         }
  60.                     }
  61.  
  62.                 }
  63.                 //проверка памяти 2
  64.                 //std::cout << "Second size: " << user.size() << std::endl;
  65.  
  66.                 j++;
  67.                 q++;
  68.  
  69.             }
  70.             menu();
  71.             //удаление контакта
  72.             if (a == "3") {
  73.                 int n = 0;
  74.                 std::cout << "Which contact do you wanna delete? (" << 0 << "to" << k - 1 << ")";
  75.                 std::cin >> n;
  76.                 std::cout << "Fist size: " << user.size() << std::endl;
  77.                 user.erase(user.begin() + n);
  78.                 std::cout << "Second size: " << user.size() << std::endl;
  79.                 k--;
  80.                 menu();
  81.             }
  82.             //просмотр контактов
  83.             if (a == "2") {
  84.                 std::cout << "\t-------------\n";
  85.                 std::cout << "\tYOUR CONTACTS\n";
  86.                 std::cout << "\-------------\n";
  87.                 for (int i = 0; i < k; i++) {
  88.                     std::cout << "Number " << i << std::endl;
  89.                     std::cout << "\-------------\n";
  90.                     std::cout << "N: " << user[i].name << std::endl;
  91.                     std::cout << "M: " << user[i].mobile << std::endl;
  92.                     std::cout << "A: " << user[i].address << std::endl;
  93.                     std::cout << "E: " << user[i].email << std::endl;
  94.                     std::cout << "---------------\n" << std::endl;
  95.                 }
  96.             }
  97.             //изменение контакта
  98.             if (a == "4") {
  99.                 std::cout << "\nThe number of the contact which you want change: ";
  100.                 std::cin >> n_change;
  101.                 struct c_contact {
  102.                     std::string name;
  103.                     std::string mobile;
  104.                     std::string address;
  105.                     std::string email;
  106.                 };
  107.                 c_contact c_user;
  108.                 std::cout << "\nName: ";
  109.                 getline(std::cin,c_user.name);
  110.                 std::cout << "\nMobile: ";
  111.                 getline(std::cin, c_user.mobile);
  112.                 std::cout << "\nAddress: ";
  113.                 getline(std::cin, c_user.address);
  114.                 std::cout << "\nE-mail: ";
  115.                 getline(std::cin, c_user.email);
  116.  
  117.             }
  118.  
  119.         }
  120.        
  121.     }
  122.     return 0;
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement