Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<fstream>
- #include<iomanip>
- using namespace std;
- struct Coffee
- {
- string name;
- int pomol;
- int milk;
- int v;
- int sug;
- int pom;
- int wt;
- double price;
- };
- int main()
- {
- setlocale(LC_ALL, "ru");
- Coffee a;
- Coffee x[100];
- int i=0;
- string h;
- ifstream in("coffemachine.txt");
- ofstream out("bincoffe.bin", ios::binary);
- if (!in)
- {
- cout << "ERROR 404: File not found" << endl;
- exit(-1);
- }
- int n;
- int l = 0;
- cout << "Здравствуйте. Я - ваш личный помощник в выборе кофемашины.\n Пожалуйста, ответьте на вопросы, чтобы я подобрал вам кофемашину" << endl;
- l = 0;
- cout << "Если вы хотите выполнить поиск по названию, введите 1.\nЕсли вы хотите подобрать кофемашину по параметрам, введите 2." << endl;
- cin >> n;
- int b = 1;
- int g = 1;
- while (b && n != 2)
- {
- if (n == 1)
- {
- g = 0;
- cout << "Введите точное название модели" << endl;
- cin >> h;
- while (in >> a.name >> a.pomol >> a.milk >> a.v >> a.sug >> a.pom >> a.wt >> a.price)
- {
- x[i] = a;
- out.write((char*)&x[i], sizeof(struct Coffee));
- i++;
- b = 0;
- }
- }
- else
- {
- cout << "Ну будь ты человеком, ну нормально введи" << endl;
- cout << "Если вы хотите выполнить поиск по названию, введите 1.\nЕсли вы хотите подобрать кофемашину по параметрам, введите 2." << endl;
- cin >> n;
- }
- }
- Coffee c;
- if (b)
- {
- cout << "Какое максимальное количество кофемашин вам нужно показать?" << endl;
- cin >> n;
- cout << "Нужно ли вам (0-нет, 1-да): " << endl;
- cout << "\nВозможность молоть кофе:"; cin >> c.pomol;
- cout << "\nВозможность вспенивать молоко"; cin >> c.milk;
- cout << "\nВозможность регулировать объем напитка:"; cin >> c.v;
- cout << "\nНаличие дозатора сахара:"; cin >> c.sug;
- cout << "\nВОзможность регулировать помол кофе:"; cin >> c.pom;
- cout << "Другие характеристики:" << endl;
- cout << "\nЭлектропотребление/мощность (в ваттах) не более:"; cin >> c.wt;
- cout << "\nЦена, не более:"; cin >> c.price;
- cout << endl;
- while (in >> a.name >> a.pomol >> a.milk >> a.v >> a.sug >> a.pom >> a.wt >> a.price)
- {
- 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))
- {
- l = 1;
- x[i] = a;
- out.write((char*)&x[i], sizeof(struct Coffee));
- }
- }
- in.close();
- out.close();
- }
- ifstream inbin("bincoffe.bin", ios::binary);
- for (int j = 0; j < i; j++)
- {
- inbin.read((char*)&x[j], sizeof(struct Coffee));
- if (!g&&(h == x[j].name))
- {
- l = 1;
- cout << "Ваша модель найдена:" << endl;
- cout << x[j].name << setw(15) << x[j].price << endl;
- }
- }
- if (g&&l)
- {
- cout << "Подходящие модели:" << endl;
- cout << "Название" << setw(15) << "Цена в рублях" << endl;
- for (int k = 0; k < n; k++)
- {
- inbin.read((char*)&x[k], sizeof(struct Coffee));
- cout << x[k].name << " " << x[k].price << endl;
- }
- }
- if (!l)
- {
- cout << "По вашему запросу ничего не найдено, измените требования" << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement