Advertisement
35657

Untitled

May 11th, 2024 (edited)
515
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.58 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2.  
  3. #include <iostream>
  4. #include <string>
  5. #include <Windows.h>
  6.  
  7. using namespace std;
  8.  
  9. struct contact {
  10.     char name[40];
  11.     char mobile_phone[20];
  12.     char home_phone[20];
  13.     char work_phone[20];
  14. };
  15.  
  16. struct phone_book {
  17.     int contact_number = 0;
  18.     int capacity = 4;
  19.     contact* store = new contact[capacity];
  20. };
  21.  
  22. void add_contact(phone_book& book, const char* name, const char* mobile_phone, const char* home_phone, const char* work_phone) {
  23.  
  24.     if (book.contact_number == book.capacity) {
  25.         book.capacity *= 2;
  26.         contact* temp = new contact[book.capacity];
  27.         for (int i = 0; i < book.contact_number; i++) {
  28.             temp[i] = book.store[i];
  29.         }
  30.         delete[] book.store;
  31.         book.store = temp;
  32.     }
  33.  
  34.     strcpy(book.store[book.contact_number].name, name);
  35.     strcpy(book.store[book.contact_number].mobile_phone, mobile_phone);
  36.     strcpy(book.store[book.contact_number].home_phone, home_phone);
  37.     strcpy(book.store[book.contact_number].work_phone, work_phone);
  38.     book.contact_number++;
  39. }
  40.  
  41. void del_contact(phone_book& book, const char* name) {
  42.     for (int i = 0; i < book.contact_number; i++) {
  43.         if (!strcmp(book.store[i].name, name)) {
  44.             for (int j = i; j < book.contact_number - 1; j++) {
  45.                 book.store[j] = book.store[j + 1];
  46.             }
  47.             book.contact_number--;
  48.         }
  49.     }
  50. }
  51.  
  52. void find_contact_name(const phone_book& book, const char* name) {
  53.     for (int i = 0; i < book.contact_number; i++) {
  54.         if (!strcmp(book.store[i].name, name)) {
  55.             cout << book.store[i].name << ", мобильный телефон - " << book.store[i].mobile_phone << ", рабочий телефон - " << book.store[i].work_phone << ", домашний телефон - " << book.store[i].home_phone << endl;
  56.         }
  57.     }
  58. }
  59.  
  60. void show_all_contacts(const phone_book& book) {
  61.     for (int i = 0; i < book.contact_number; i++) {
  62.         cout << book.store[i].name << ", мобильный телефон - " << book.store[i].mobile_phone << ", рабочий телефон - " << book.store[i].work_phone << ", домашний телефон - " << book.store[i].home_phone << endl;
  63.     }
  64.     cout << endl;
  65. }
  66.  
  67. int main() {
  68.  
  69.     SetConsoleCP(1251);
  70.     SetConsoleOutputCP(1251);
  71.  
  72.     phone_book my_book;
  73.  
  74.     add_contact(my_book, "Иван", "+79111111111", "111111", "222222");
  75.     add_contact(my_book, "Оля", "+79111114444", "111144", "222244");
  76.     add_contact(my_book, "Женя", "+79111115555", "111155", "222255");
  77.     add_contact(my_book, "Саша", "+79111116666", "111166", "222266");
  78.  
  79.     show_all_contacts(my_book);
  80.  
  81.     del_contact(my_book, "Женя");
  82.  
  83.     show_all_contacts(my_book);
  84.  
  85.     find_contact_name(my_book, "Саша");
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement