Advertisement
Guest User

Untitled

a guest
May 12th, 2013
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.96 KB | None | 0 0
  1. #include <iostream>
  2. #include <list>
  3. #include <conio.h>
  4. #include <vector>
  5. #include <algorithm>
  6.  
  7. using namespace std;
  8.  
  9. class Work
  10. {
  11. public:
  12. char name[30];
  13. int number[10];
  14. int CountNumber();
  15. void input(int n);
  16. void output(int n);
  17. void search(int n);
  18. void deletetask(int n);
  19. void menu(int n);
  20. };
  21.  
  22. vector<Work> v(3);
  23.  
  24. void Work :: input(int n)
  25. {
  26.  
  27. int j = 10;
  28.  
  29. cout<<"Формирование предметного указателя"<<endl;
  30.  
  31.  
  32.  
  33. for (int i = 0; i < v.size(); i++)
  34. {
  35. cout << " Введите слово № "<< i+1 <<" : ";
  36. cin >> v[i].name;
  37.  
  38. cout << " Введите номера страницы: ";
  39. for (int j = 0; j < 3; j++)
  40. {
  41. cin >> v[i].number[j];
  42. }
  43.  
  44. }
  45. cout<<"Формирование завершено\n";
  46. }
  47.  
  48. void Work::output(int n)
  49. {
  50.  
  51. cout<<"Вывод предметного указателя :"<<endl;
  52. for (int i = 0; i < v.size(); i++)
  53. {
  54. cout<<"Слово: "<<v[i].name<<endl;
  55. cout << "Номера страниц : ";
  56. for (int j = 0; j < 3; j++)
  57. {
  58. cout << " "<< v[i].number[j];
  59.  
  60. }
  61. cout << "" << endl;
  62. }
  63. }
  64.  
  65. void Work::search(int n)
  66. {
  67. char NameSearch[30];
  68.  
  69. cout << "Введите искомое слово : ";
  70. cin >> NameSearch;
  71.  
  72. for (int i = 0; i < v.size(); i++)
  73. {
  74. if (strcmp(v[i].name, NameSearch) == 0)
  75. cout << "Слово: "<< v[i].name << endl;
  76. cout << "Номера страниц : ";
  77. cout << " "<< v[i].number[3];
  78.  
  79. for (int j = 0; j < 3; j++)
  80. {
  81. cout << " "<< v[i].number[j];
  82. }
  83. }
  84. }
  85.  
  86. void Work::deletetask(int n)
  87. {
  88. char DeleteName[30];
  89.  
  90. cout << "Введите слово, которое хотите удалить : ";
  91. cin >> DeleteName;
  92.  
  93. for (int i = 0; i < v.size(); i++)
  94. {
  95. if (strcmp(v[i].name, DeleteName) == 0)
  96. 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
  97. //1> [
  98. //1> _Myvec=std::_Vector_val<std::_Simple_types<Work>>,
  99. //1> _Ty=Work
  100. //1> ]
  101. //1> and
  102. //1> [
  103. //1> _Myvec=std::_Vector_val<std::_Simple_types<Work>>
  104. //1> ]
  105. //1> Ни один конструктор не смог принять исходный тип, либо разрешение перегрузки конструктора //неоднозначно
  106. }
  107.  
  108. }
  109.  
  110. void Work :: menu(int n)
  111. {
  112. cout << "" << endl;
  113. cout << "-------------------------------------------------------------------------------" << endl;
  114. cout << "" << endl;
  115. cout << " - 1 - Создать предметный указатель." << endl;
  116. cout << " - 2 - Поиск слова." << endl;
  117. cout << " - 3 - Итог предметного указателя." << endl;
  118. cout << " - 4 - Удаление элемента." << endl;
  119. cout << "" << endl;
  120. cout << "-------------------------------------------------------------------------------" << endl;
  121. cout << "" << endl;
  122.  
  123. char z = tolower(getch());
  124.  
  125. switch(z)
  126. {
  127. case '1' : input(n); break;
  128. case '2' : search(n); break;
  129. case '3' : output(n); break;
  130. case '4' : deletetask(n); break;
  131. }
  132. }
  133.  
  134. int main()
  135. {
  136.  
  137. int n=3;
  138.  
  139.  
  140. setlocale(0,"rus");
  141.  
  142.  
  143. Work w;
  144. for(;;)
  145. {
  146. w.menu(n);
  147. }
  148. system("pause");
  149. return 0;
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement