Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. class Books {
  7. public:
  8. string m_name;
  9. string m_author;
  10. string m_type;
  11. Books(string name, string author, string type) {
  12. m_name = name;
  13. m_author = author;
  14. m_type = type;
  15. }
  16. };
  17.  
  18. class Library {
  19. public:
  20. vector<Books*>box;
  21. ~Library() {
  22. box.clear();
  23. }
  24. };
  25.  
  26. void printswich(Library library) {
  27. int tech = 0;
  28. int litr = 0;
  29. for (int i = 0; i < library.box.size(); i++) {
  30. switch(int(library.box[i]->m_type[0])) {
  31. case int('T'):
  32. tech++;
  33. break;
  34. case int('L'):
  35. litr++;
  36. break;
  37. }
  38. }
  39. cout << "Количество тех. книг = " << tech << endl;
  40. cout << "Количество художественных книг = " << litr << endl;
  41. }
  42.  
  43. void print(Library library){
  44. int tech = 0;
  45. int litr = 0;
  46. for (int i = 0; i < library.box.size(); i++) {
  47. if (library.box[i]->m_type == "Tech")
  48. tech++;
  49. else
  50. litr++;
  51. }
  52. cout << "Количество тех. книг = " << tech << endl;
  53. cout << "Количество художественных книг = " << litr<< endl << endl;
  54.  
  55. }
  56.  
  57. int main()
  58. {
  59. setlocale(LC_ALL, "rus");
  60. Library library;
  61. string author, name, type;
  62. int n;
  63. cout << "Введите количество книг: ";
  64. cin >> n;
  65. for (int i = 0; i < n; i++) {
  66. cout << "Введите название, автора и жанр книги";
  67. cout << "(Жанр: Tech or Litr)";
  68. cin >> name >> author >> type;
  69. Books *a = new Books(name, author, type);
  70. library.box.push_back(a);
  71. }
  72. system("cls");
  73. print(library);
  74. printswich(library);
  75.  
  76. /*
  77. Books a("Гоголь", "Мёртвые души", "Художественная");
  78. library.box.push_back(&a);
  79. Books b("Григорьянс", "Тех. процессы лазерной обработки", "Техническая");
  80. library.box.push_back(&b);
  81. Books c("Антонов", "Фрезерная обработка", "Техническая");
  82. library.box.push_back(&c);
  83. Books b("Достоевский", "Преступление и наказание", "Художественная");
  84. */
  85. return 0;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement