Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.84 KB | None | 0 0
  1. #include<iostream>
  2. #include<list>
  3. #include<iterator>
  4. #include<locale>
  5. #include<string>
  6. /*Написать программу учета заявок на обмен квартир и поиска вариантов обмена. Каждая заявка содержит сведения о двух квартирах: требуемой(искомой) и имеющейся. Сведения о каждой квартире содержат: количество комнат*/
  7. using namespace std;
  8. enum district{central,proletarsky,moscowsky,zavoljsky};
  9.  
  10. struct apartment
  11. {
  12.     int rooms;//Количество комнат
  13.     int flor;//Этаж
  14.     district dist;//Район
  15.     int sq;//Площадь
  16. };
  17.  
  18. struct ticket
  19. {
  20.     apartment offer;//Предложение
  21.     apartment demand;//Спрос
  22. };
  23. void test(ticket &a, ticket &b, ticket &c)
  24. {
  25.     a.offer.dist = central;
  26.     a.offer.flor = 3;
  27.     a.offer.rooms = 2;
  28.     a.offer.sq = 54;
  29.     a.demand.dist = central;
  30.     a.demand.flor = 3;
  31.     a.demand.rooms = 2;
  32.     a.demand.sq = 54;
  33.  
  34.     b.offer.dist = proletarsky;
  35.     b.offer.flor = 1;
  36.     b.offer.rooms = 1;
  37.     b.offer.sq = 18;
  38.     b.demand.dist = proletarsky;
  39.     b.demand.flor = 5;
  40.     b.demand.rooms = 2;
  41.     b.demand.sq = 42;
  42.  
  43.     c.offer.dist = moscowsky;
  44.     c.offer.flor = 5;
  45.     c.offer.rooms = 3;
  46.     c.offer.sq = 78;
  47.     c.demand.dist = moscowsky;
  48.     c.demand.flor = 1;
  49.     c.demand.rooms = 3;
  50.     c.demand.sq = 78;
  51. }
  52. ostream &operator<<(ostream &os, const ticket &a)
  53. {
  54.     char str[16];
  55.     char str1[16];
  56.     switch (a.offer.dist)
  57.     {
  58.         case central:
  59.         {
  60.             strcpy(str,"Центральный");
  61.             break;
  62.         }
  63.         case proletarsky:
  64.         {
  65.             strcpy(str, "Пролетарский");
  66.             break;
  67.         }
  68.         case moscowsky:
  69.         {
  70.             strcpy(str, "Московский");
  71.             break;
  72.         }
  73.         case zavoljsky:
  74.         {
  75.             strcpy(str, "Заволжский");
  76.             break;
  77.         }
  78.     }
  79.     switch (a.demand.dist)
  80.     {
  81.         case central:
  82.         {
  83.             strcpy(str1, "Центральный");
  84.             break;
  85.         }
  86.         case proletarsky:
  87.         {
  88.             strcpy(str1, "Пролетарский");
  89.             break;
  90.         }
  91.         case moscowsky:
  92.         {
  93.             strcpy(str1, "Московский");
  94.             break;
  95.         }
  96.         case zavoljsky:
  97.         {
  98.             strcpy(str1, "Заволжский");
  99.             break;
  100.         }
  101.     }
  102.     os << "Искомая квартира:" << endl;
  103.     os << "Район - " << str1 << endl;
  104.     os << "Этаж - " << a.offer.flor << endl;
  105.     os << "Кол-во комнат - " << a.offer.rooms << endl;
  106.     os << "Площадь - " << a.offer.dist << endl;
  107.     os << "Предлагаемая квартира:" << endl;
  108.     os << "Район - " << str << endl;
  109.     os << "Этаж - " << a.demand.flor << endl;
  110.     os << "Кол-во комнат - " << a.demand.rooms << endl;
  111.     os << "Площадь - " << a.demand.dist << endl;
  112.     return os;
  113. }
  114. void new_ticket(ticket &a)
  115. {
  116.     cout << "Заполните поля для предлагаемой квартиры:" << endl;
  117.     cout << "Введите район: 1 - Центральный, 2 - Пролетарский, 3 - Московский, 4 - Заволжский" << endl;
  118.     a.offer.dist = central;
  119.     a.offer.flor = 3;
  120.     a.offer.rooms = 2;
  121.     a.offer.sq = 54;
  122.     a.demand.dist = central;
  123.     a.demand.flor = 3;
  124.     a.demand.rooms = 2;
  125.     a.demand.sq = 54;
  126. }
  127. int main()
  128. {
  129.     setlocale(LC_ALL, "rus");
  130.     list <ticket> tickets;
  131.     list <ticket>::const_iterator it;
  132.     cout<<tickets.empty()<<endl;
  133.     ticket a,b,c;
  134.     test(a, b, c);
  135.    
  136.     tickets.push_back(a);
  137.     tickets.push_back(b);
  138.     tickets.push_back(c);
  139.     it = tickets.begin();
  140.     cout << tickets.size() << endl;
  141.     int menu = 1;
  142.     cin >> menu;
  143.     while (menu)
  144.     {
  145.         switch (menu)
  146.         {
  147.         case 1://Ввод заявки на обмен
  148.             {
  149.                 ticket z;
  150.  
  151.                 break;
  152.             }
  153.         case 2://Поиск в картотеке варианта
  154.             {
  155.                 break;
  156.             }
  157.         case 3://Печать всей картотеки
  158.             {
  159.             for (; it != tickets.end(); it++)
  160.                 cout << *it << endl;
  161.                 break;
  162.             }
  163.         }
  164.     }
  165. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement