Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <string>
- #include <stdlib.h>
- #include <vector>
- using namespace std;
- class Comp // объявление класса Comp
- {
- public:
- string mac;//информационное поле
- string ip;
- string name;
- Comp *next; // указатель на следующий элемент
- };
- class List // объявление класса List
- {
- friend Comp;
- Comp *top; // указатель на начало списка
- public:
- List() // конструктор
- {
- top = 0;
- cout << "\nkonstructor:\n";
- };
- ~List() // деструктор
- {
- release();
- cout << "\ndestructor:\n";
- }
- void push(string, string, string); // добавление элемента
- void del() // удаление элемента
- {
- Comp *temp = top;
- top = top->next;
- delete temp;
- }
- void show();
- void release();// удаление всех элементов
- };
- void List::push(string a, string b, string c)
- {
- Comp *comp = new Comp;
- comp->name = a;
- comp->ip = b;
- comp->mac = c;
- comp->next = top;
- top = comp;
- }
- void List::show()
- {
- Comp *comp = top;
- while (comp != 0)
- {
- cout << comp->name << " " << endl;
- comp = comp->next;
- }
- cout << endl;
- }
- void List::release()
- {
- while (top != 0)del();
- }
- int main()
- {
- setlocale(LC_ALL, "Russian");
- List *p;//объявление указателя на List
- List st;//объявление объекта класса List
- int k = 0;
- string a, b, c;
- vector <string> d;
- bool cmp = true;
- cout << "Вводите данные о компьютере:марка, Ip-адрес, mac - адрес " << endl;
- do //добавление в список, пока не нашли одинаковых mac-адресов
- {
- cin >> a >> b >> c;
- st.push(a, b, c);
- d.push_back(c);
- if (k != 0)
- for (int i = 0; i < k; i++)
- if (d[k] == d[i])
- cmp = false;
- k++;
- } while (cmp);
- cout << "Нельзя одинаковые mac-адреса" << endl;
- st.show();
- st.del();
- p = &st;
- cout << "Нормальные компьютеры" << endl;
- p->show();
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement