Advertisement
Dinmrmr

List in List

Mar 8th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.52 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <fstream>
  4. #include <list>
  5. #include <cstring>
  6.  
  7. using namespace std;
  8.  
  9. #define CHAR_LEN 255
  10.  
  11. typedef struct show
  12. {
  13.     int id;
  14.     char name[CHAR_LEN],
  15.         date[CHAR_LEN];
  16. } show_t;
  17. list<show_t> shows;
  18.  
  19. typedef struct guest
  20. {
  21.     char name[CHAR_LEN];
  22.     list<show_t> tickets;
  23. } guest_t;
  24.  
  25. int main()
  26. {
  27.     system("chcp 1251");
  28.  
  29.     guest_t tempGuest;
  30.     list<guest_t> guests;
  31.    
  32.     show_t tempShow;
  33.     int temp;
  34.     cout << "Какое количество представлений вы хотите добавить: ";
  35.     cin >> temp;
  36.     for (int i = 0; i < temp; i++)
  37.     {
  38.         cout << "ID: ";
  39.         cin >> tempShow.id;
  40.         cout << "Название представления: ";
  41.         cin >> tempShow.name;
  42.         cout << "Дата проведения:        ";
  43.         cin >> tempShow.date;
  44.         shows.push_back(tempShow);
  45.     }
  46.  
  47.     cout << "\nСПИСОК ПРЕДСТАВЛЕНИЙ" << endl;
  48.     for (list<show_t>::iterator it = shows.begin(); it != shows.end(); ++it)
  49.         cout << it->id << '\t' << it->name << '\t' << it->date << endl;
  50.     cout << "----------" << endl;
  51.  
  52.     cout << "Какое количество зрителей вы хотите добавить в систему: ";
  53.     cin >> temp;
  54.     for (int i = 0; i < temp; i++)
  55.     {
  56.         cout << "Имя зрителя: ";
  57.         cin >> tempGuest.name;
  58.         cout << "Список представлений: " << endl;
  59.         for (list<show_t>::iterator it = shows.begin(); it != shows.end(); ++it)
  60.             cout << '\t' << it->id << '\t' << it->name << '\t' << it->date << endl;
  61.         cout << "----------" << endl;
  62.         cout << "На какие представления вы хотите сходить(ID)(-1 = конец ввода): " << endl;
  63.         int ticketNum;
  64.         while (cin >> ticketNum)
  65.         {
  66.             if (ticketNum == -1)
  67.                 break;
  68.             for (list<show_t>::iterator it = shows.begin(); it != shows.end(); ++it)
  69.             {
  70.                 if (it->id == ticketNum)
  71.                 {
  72.                     tempGuest.tickets.push_back(*it);
  73.                     break;
  74.                 }
  75.             }
  76.         }
  77.         guests.push_back(tempGuest);
  78.         tempGuest.tickets.clear();
  79.     }
  80.  
  81.     cout << "\nСПИСОК ЗРИТЕЛЕЙ" << endl;
  82.     for (list<guest_t>::iterator it = guests.begin(); it != guests.end(); it++)
  83.     {
  84.         cout << "Имя зрителя: " << it->name << endl;
  85.         cout << "Список зарезервированных билетов: " << endl;
  86.         for (list<show_t>::iterator t_it = it->tickets.begin(); t_it != it->tickets.end(); t_it++)
  87.             cout << t_it->id << '\t' << t_it->name << '\t' << t_it->date << endl;
  88.         cout << "----------" << endl;
  89.     }
  90.  
  91.     system("pause");
  92.     return 0;
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement