Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <list>
- #include <conio.h>
- #include <vector>
- #include <algorithm>
- using namespace std;
- class Work
- {
- public:
- char name[30];
- int number[10];
- int CountNumber();
- void input(int n);
- void output(int n);
- void search(int n);
- void deletetask(int n);
- void menu(int n);
- };
- vector<Work> v(3);
- void Work :: input(int n)
- {
- int j = 10;
- cout<<"Формирование предметного указателя"<<endl;
- for (int i = 0; i < v.size(); i++)
- {
- cout << " Введите слово № "<< i+1 <<" : ";
- cin >> v[i].name;
- cout << " Введите номера страницы: ";
- for (int j = 0; j < 3; j++)
- {
- cin >> v[i].number[j];
- }
- }
- cout<<"Формирование завершено\n";
- }
- void Work::output(int n)
- {
- cout<<"Вывод предметного указателя :"<<endl;
- for (int i = 0; i < v.size(); i++)
- {
- cout<<"Слово: "<<v[i].name<<endl;
- cout << "Номера страниц : ";
- for (int j = 0; j < 3; j++)
- {
- cout << " "<< v[i].number[j];
- }
- cout << "" << endl;
- }
- }
- void Work::search(int n)
- {
- char NameSearch[30];
- cout << "Введите искомое слово : ";
- cin >> NameSearch;
- for (int i = 0; i < v.size(); i++)
- {
- if (strcmp(v[i].name, NameSearch) == 0)
- cout << "Слово: "<< v[i].name << endl;
- cout << "Номера страниц : ";
- cout << " "<< v[i].number[3];
- for (int j = 0; j < 3; j++)
- {
- cout << " "<< v[i].number[j];
- }
- }
- }
- void Work::deletetask(int n)
- {
- char DeleteName[30];
- cout << "Введите слово, которое хотите удалить : ";
- cin >> DeleteName;
- for (int i = 0; i < v.size(); i++)
- {
- if (strcmp(v[i].name, DeleteName) == 0)
- v.erase(v[i]); //error C2664: std::_Vector_iterator<_Myvec> //std::vector<_Ty>::erase(std::_Vector_const_iterator<_Myvec>): невозможно преобразовать параметр 1 из "char [30]" //в "std::_Vector_const_iterator<_Myvec>" with
- //1> [
- //1> _Myvec=std::_Vector_val<std::_Simple_types<Work>>,
- //1> _Ty=Work
- //1> ]
- //1> and
- //1> [
- //1> _Myvec=std::_Vector_val<std::_Simple_types<Work>>
- //1> ]
- //1> Ни один конструктор не смог принять исходный тип, либо разрешение перегрузки конструктора //неоднозначно
- }
- }
- void Work :: menu(int n)
- {
- cout << "" << endl;
- cout << "-------------------------------------------------------------------------------" << endl;
- cout << "" << endl;
- cout << " - 1 - Создать предметный указатель." << endl;
- cout << " - 2 - Поиск слова." << endl;
- cout << " - 3 - Итог предметного указателя." << endl;
- cout << " - 4 - Удаление элемента." << endl;
- cout << "" << endl;
- cout << "-------------------------------------------------------------------------------" << endl;
- cout << "" << endl;
- char z = tolower(getch());
- switch(z)
- {
- case '1' : input(n); break;
- case '2' : search(n); break;
- case '3' : output(n); break;
- case '4' : deletetask(n); break;
- }
- }
- int main()
- {
- int n=3;
- setlocale(0,"rus");
- Work w;
- for(;;)
- {
- w.menu(n);
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement