Advertisement
Guest User

Untitled

a guest
Oct 26th, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.20 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <string>
  4. #include <stdlib.h>
  5. #include <vector>
  6. using namespace std;
  7. class Comp         // объявление класса Comp
  8. {
  9. public:
  10.     string mac;//информационное поле
  11.     string ip;
  12.     string name;
  13.     Comp  *next;        // указатель на следующий элемент
  14. };
  15. class List              // объявление класса List
  16. {
  17.     friend Comp;
  18.     Comp  *top;         // указатель на начало списка
  19. public:
  20.     List()          // конструктор
  21.     {
  22.         top = 0;
  23.         cout << "\nkonstructor:\n";
  24.     };
  25.     ~List()         // деструктор
  26.     {
  27.         release();
  28.         cout << "\ndestructor:\n";
  29.     }
  30.     void push(string, string, string);    // добавление элемента
  31.     void del()      // удаление элемента
  32.     {
  33.         Comp *temp = top;
  34.         top = top->next;
  35.         delete temp;
  36.     }
  37.     void show();
  38.     void release();// удаление всех элементов
  39. };
  40. void List::push(string a, string b, string c)
  41. {
  42.     Comp *comp = new Comp;
  43.     comp->name = a;
  44.     comp->ip = b;
  45.     comp->mac = c;
  46.     comp->next = top;
  47.     top = comp;
  48. }
  49. void List::show()
  50. {
  51.     Comp *comp = top;
  52.     while (comp != 0)
  53.     {
  54.         cout << comp->name << " " << endl;
  55.         comp = comp->next;
  56.     }
  57.     cout << endl;
  58. }
  59.  
  60.  
  61. void List::release()
  62. {
  63.     while (top != 0)del();
  64. }
  65. int main()
  66. {
  67.     setlocale(LC_ALL, "Russian");
  68.     List *p;//объявление указателя на List
  69.     List st;//объявление объекта класса List
  70.     int k = 0;
  71.     string a, b, c;
  72.     vector <string> d;
  73.     bool cmp = true;
  74.     cout << "Вводите данные о компьютере:марка, Ip-адрес, mac - адрес " << endl;
  75.     do      //добавление в список, пока не нашли одинаковых mac-адресов
  76.     {
  77.         cin >> a >> b >> c;
  78.         st.push(a, b, c);
  79.         d.push_back(c);
  80.         if (k != 0)
  81.             for (int i = 0; i < k; i++)
  82.                 if (d[k] == d[i])
  83.                     cmp = false;
  84.         k++;
  85.     } while (cmp);
  86.     cout << "Нельзя одинаковые mac-адреса" << endl;
  87.     st.show();
  88.     st.del();
  89.     p = &st;
  90.     cout << "Нормальные компьютеры" << endl;
  91.     p->show();
  92.     system("pause");
  93.     return 0;
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement