Advertisement
JouJoy

Untitled

Apr 11th, 2020
314
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.81 KB | None | 0 0
  1. #include<iostream>
  2. #include<fstream>
  3. #include<iomanip>
  4. using namespace std;
  5. struct Coffee
  6. {
  7.     string name;
  8.     int pomol;
  9.     int milk;
  10.     int v;
  11.     int sug;
  12.     int pom;
  13.     int wt;
  14.     double price;
  15. };
  16. int main()
  17. {
  18.     setlocale(LC_ALL, "ru");
  19.     Coffee a;
  20.     Coffee x[100];
  21.     int i=0;
  22.     string h;
  23.     ifstream in("coffemachine.txt");
  24.     ofstream out("bincoffe.bin", ios::binary);
  25.     if (!in)
  26.     {
  27.         cout << "ERROR 404: File not found" << endl;
  28.         exit(-1);
  29.     }
  30.     int n;
  31.     int l = 0;
  32.     cout << "Здравствуйте. Я - ваш личный помощник в выборе кофемашины.\n Пожалуйста, ответьте на вопросы, чтобы я подобрал вам кофемашину" << endl;
  33.  
  34.         l = 0;
  35.         cout << "Если вы хотите выполнить поиск по названию, введите 1.\nЕсли вы хотите подобрать кофемашину по параметрам, введите 2." << endl;
  36.         cin >> n;
  37.         int b = 1;
  38.         int g = 1;
  39.         while (b && n != 2)
  40.         {
  41.             if (n == 1)
  42.             {
  43.                 g = 0;
  44.                 cout << "Введите точное название модели" << endl;
  45.                 cin >> h;
  46.  
  47.                 while (in >> a.name >> a.pomol >> a.milk >> a.v >> a.sug >> a.pom >> a.wt >> a.price)
  48.                 {
  49.                     x[i] = a;  
  50.                     out.write((char*)&x[i], sizeof(struct Coffee));
  51.                     i++;
  52.                     b = 0;
  53.                 }
  54.             }
  55.             else
  56.             {
  57.                 cout << "Ну будь ты человеком, ну нормально введи" << endl;
  58.                 cout << "Если вы хотите выполнить поиск по названию, введите 1.\nЕсли вы хотите подобрать кофемашину по параметрам, введите 2." << endl;
  59.                 cin >> n;
  60.             }
  61.         }
  62.         Coffee c;
  63.         if (b)
  64.         {
  65.             cout << "Какое максимальное количество кофемашин вам нужно показать?" << endl;
  66.             cin >> n;
  67.             cout << "Нужно ли вам (0-нет, 1-да): " << endl;
  68.             cout << "\nВозможность молоть кофе:"; cin >> c.pomol;
  69.             cout << "\nВозможность вспенивать молоко"; cin >> c.milk;
  70.             cout << "\nВозможность регулировать объем напитка:"; cin >> c.v;
  71.             cout << "\nНаличие дозатора сахара:"; cin >> c.sug;
  72.             cout << "\nВОзможность регулировать помол кофе:"; cin >> c.pom;
  73.             cout << "Другие характеристики:" << endl;
  74.             cout << "\nЭлектропотребление/мощность (в ваттах) не более:"; cin >> c.wt;
  75.             cout << "\nЦена, не более:"; cin >> c.price;
  76.             cout << endl;
  77.             while (in >> a.name >> a.pomol >> a.milk >> a.v >> a.sug >> a.pom >> a.wt >> a.price)
  78.             {
  79.                 if ((a.pomol == c.pomol) && (a.milk == c.milk) && (a.v == c.v) && (a.sug == c.sug) && (a.pom == c.pom) && (a.wt <= c.wt) && (a.price <= c.price))
  80.                 {
  81.                     l = 1;
  82.                     x[i] = a;
  83.                     out.write((char*)&x[i], sizeof(struct Coffee));
  84.                 }
  85.             }
  86.             in.close();
  87.             out.close();
  88.         }
  89.         ifstream inbin("bincoffe.bin", ios::binary);
  90.        
  91.         for (int j = 0; j < i; j++)
  92.         {
  93.             inbin.read((char*)&x[j], sizeof(struct Coffee));
  94.                     if (!g&&(h == x[j].name))
  95.                     {
  96.                         l = 1;
  97.                         cout << "Ваша модель найдена:" << endl;
  98.                         cout << x[j].name << setw(15) << x[j].price << endl;
  99.                     }
  100.         }
  101.         if (g&&l)
  102.         {
  103.             cout << "Подходящие модели:" << endl;
  104.             cout << "Название" << setw(15) << "Цена в рублях" << endl;
  105.             for (int k = 0; k < n; k++)
  106.             {
  107.                 inbin.read((char*)&x[k], sizeof(struct Coffee));
  108.                
  109.                 cout << x[k].name << " " << x[k].price << endl;
  110.             }
  111.         }
  112.  
  113.         if (!l)
  114.         {
  115.             cout << "По вашему запросу ничего не найдено, измените требования" << endl;
  116.         }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement