Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.cpp
- // task 2
- //
- // Created by Никита Морозов on 14.01.18.
- // Copyright © 2018 Никита Морозов. All rights reserved.
- //
- #include <vector>
- #include <iostream>
- #include <fstream>
- using namespace std;
- struct tovar
- {
- char name[100];
- int counter;
- int price;
- int day;
- int month;
- int year;
- };
- vector <tovar> mass() //масив структур
- {
- int choice = 0, size = 0;
- vector <tovar> m;
- tovar tov;
- printf("Какое количество товаров находящихся в файле ? : ");
- scanf("%i", &size);
- printf("-----------------------------------------------\n");
- ifstream in("start.txt");
- for (int i = 0; i < size; i++)
- {
- in >> tov.name;
- in >> tov.counter;
- in >> tov.price;
- in >> tov.day;
- in >> tov.month;
- in >> tov.year;
- m.emplace_back(tov);
- }
- in.close();
- return m;
- }
- int visual(vector<tovar> &mass) //Просмотр
- {
- int num = 1;
- printf("\nВведённые вами товары :\n______________________________________________________________________________________________________________________\n");
- for (int i = 0; i < mass.size(); i++)
- {
- printf("%i", num);
- printf(".|Наименование : ");
- printf("%s", mass[i].name);
- printf(" || ");
- printf("РљРѕР»-РІРѕ : ");
- printf("%i", mass[i].counter);
- printf(" || ");
- printf("Цена за 1 шт. :");
- printf("%i", mass[i].price);
- printf(" || ");
- printf("День п.: ");
- printf("%i", mass[i].day);
- printf(" || ");
- printf("Месяц п.: ");
- printf("%i", mass[i].month);
- printf(" || ");
- printf("Год п.: ");
- printf("%i", mass[i].year);
- printf("\n");
- num++;
- }
- printf("______________________________________________________________________________________________________________________\n");
- return num;
- }
- vector <tovar> new_struct(vector<tovar> v, int counter) //Добавление
- {
- int choice = 1;
- tovar tov;
- printf("\nБудете ли вы вводить ещё товары? (1 - да)(0 - нет) : ");
- scanf("%i", &choice);
- printf("-----------------------------------------------\n");
- while (choice == 1)
- {
- counter++;
- printf("Введите наименование товара : ");
- scanf("%s", tov.name);
- printf("Введите количество данного товара : ");
- scanf("%i", &tov.counter);
- printf("Введите цену за 1 ед. товара : ");
- scanf("%i", &tov.price);
- printf("Введите день поступления товара : ");
- scanf("%i", &tov.day);
- printf("Введите месяц поступления товара : ");
- scanf("%i", &tov.month);
- printf("Введите год поступления товара : ");
- scanf("%i", &tov.year);
- v.push_back(tov);
- printf("-----------------------------------------------\n");
- printf("\nБудете ли вы вводить ещё товары? (1 - да)(0 - нет) : ");
- scanf("%i", &choice);
- }
- if (choice == 0)
- {
- out << "Номер\t";
- out << "Наименование\t";
- out << "РљРѕР»-РІРѕ\t";
- out << "Цена\t";
- out << "День п.\t";
- out << "Месяц п.\t";
- out << "Год п.\t";
- out << "\n-----------------------------------------------------\n";
- for (int i = 0; i < counter - 1; i++)
- {
- out << i + 1 << ".\t";
- out << v[i].name << "\t";
- out << v[i].counter << "\t";
- out << v[i].price << "\t";
- out << v[i].day << "\t";
- out << v[i].month << "\t";
- out << v[i].year << "\n";
- }
- out << "-----------------------------------------------------\n";
- out.close();
- }
- return v;
- }
- void finding(vector <tovar> k, int num) //РїРѕРёСЃРє
- {
- int choice = 7, d = 0;
- char s[100];
- while (choice != 0)
- {
- printf("\n-----------------------------------------------\n");
- printf("Выберите критерий поиска ");
- printf("\n1 - наименование");
- printf("\n2 - количесвто товара");
- printf("\n3 - цена за 1 шт.");
- printf("\n4 - день поступления");
- printf("\n5 - месяц поступления");
- printf("\n6 - год поступления");
- printf("\n0 - выход : ");
- scanf("%i", &choice);
- if (choice == 1)
- {
- printf("\nВводите наименование для поиска : ");
- scanf("%s", s);
- printf("\n");
- for (int i = 0; i < num - 1; i++)
- {
- if (strcmp(s, k[i].name) == 0)
- {
- printf("Результаты поиска : \n");
- printf("%i", i + 1);
- printf(".\t");
- printf("Наименование : ");
- printf("%s", k[i].name);
- printf(" || ");
- printf("РљРѕР»-РІРѕ : ");
- printf("%i", k[i].counter);
- printf(" || ");
- printf("Цена за 1 шт. :");
- printf("%i", k[i].price);
- printf(" || ");
- printf("День п.: ");
- printf("%i", k[i].day);
- printf(" || ");
- printf("Месяц п.: ");
- printf("%i", k[i].month);
- printf(" || ");
- printf("Год п.: ");
- printf("%i", k[i].year);
- printf("\n");
- }
- }
- }
- else if (choice == 2)
- {
- printf("\nВводите количество товара для поиска : ");
- scanf("%i", &d);
- printf("\n");
- for (int i = 0; i < num - 1; i++)
- {
- if (d == k[i].counter)
- {
- printf("Результаты поиска : \n");
- printf("%i", i + 1);
- printf(".\t");
- printf("Наименование : ");
- printf("%s", k[i].name);
- printf(" || ");
- printf("РљРѕР»-РІРѕ : ");
- printf("%i", k[i].counter);
- printf(" || ");
- printf("Цена за 1 шт. :");
- printf("%i", k[i].price);
- printf(" || ");
- printf("День п.: ");
- printf("%i", k[i].day);
- printf(" || ");
- printf("Месяц п.: ");
- printf("%i", k[i].month);
- printf(" || ");
- printf("Год п.: ");
- printf("%i", k[i].year);
- printf("\n");
- }
- }
- }
- else if (choice == 3)
- {
- printf("\nВводите цену за 1шт. для поиска : ");
- scanf("%i", &d);
- printf("\n");
- for (int i = 0; i < num - 1; i++)
- {
- if (d == k[i].price)
- {
- printf("Результаты поиска : \n");
- printf("%i", i + 1);
- printf(".\t");
- printf("Наименование : ");
- printf("%s", k[i].name);
- printf(" || ");
- printf("РљРѕР»-РІРѕ : ");
- printf("%i", k[i].counter);
- printf(" || ");
- printf("Цена за 1 шт. :");
- printf("%i", k[i].price);
- printf(" || ");
- printf("День п.: ");
- printf("%i", k[i].day);
- printf(" || ");
- printf("Месяц п.: ");
- printf("%i", k[i].month);
- printf(" || ");
- printf("Год п.: ");
- printf("%i", k[i].year);
- printf("\n");
- }
- }
- }
- else if (choice == 4)
- {
- printf("\nВводите день поступления для поиска : ");
- scanf("%i", &d);
- printf("\n");
- for (int i = 0; i < num - 1; i++)
- {
- if (d == k[i].day)
- {
- printf("Результаты поиска : \n");
- printf("%i", i + 1);
- printf(".\t");
- printf("Наименование : ");
- printf("%s", k[i].name);
- printf(" || ");
- printf("РљРѕР»-РІРѕ : ");
- printf("%i", k[i].counter);
- printf(" || ");
- printf("Цена за 1 шт. :");
- printf("%i", k[i].price);
- printf(" || ");
- printf("День п.: ");
- printf("%i", k[i].day);
- printf(" || ");
- printf("Месяц п.: ");
- printf("%i", k[i].month);
- printf(" || ");
- printf("Год п.: ");
- printf("%i", k[i].year);
- printf("\n");
- }
- }
- }
- else if (choice == 5)
- {
- printf("\nВводите месяц поступления для поиска : ");
- scanf("%i", &d);
- printf("\n");
- for (int i = 0; i < num - 1; i++)
- {
- if (d == k[i].month)
- {
- printf("Результаты поиска : \n");
- printf("%i", i + 1);
- printf(".\t");
- printf("Наименование : ");
- printf("%s", k[i].name);
- printf(" || ");
- printf("РљРѕР»-РІРѕ : ");
- printf("%i", k[i].counter);
- printf(" || ");
- printf("Цена за 1 шт. :");
- printf("%i", k[i].price);
- printf(" || ");
- printf("День п.: ");
- printf("%i", k[i].day);
- printf(" || ");
- printf("Месяц п.: ");
- printf("%i", k[i].month);
- printf(" || ");
- printf("Год п.: ");
- printf("%i", k[i].year);
- printf("\n");
- }
- }
- }
- else if (choice == 6)
- {
- printf("\nВводите год поступления для поиска : ");
- scanf("%i", &d);
- printf("\n");
- for (int i = 0; i < num - 1; i++)
- {
- if (d == k[i].year)
- {
- printf("Результаты поиска : \n");
- printf("%i", i + 1);
- printf(".\t");
- printf("Наименование : ");
- printf("%s", k[i].name);
- printf(" || ");
- printf("РљРѕР»-РІРѕ : ");
- printf("%i", k[i].counter);
- printf(" || ");
- printf("Цена за 1 шт. :");
- printf("%i", k[i].price);
- printf(" || ");
- printf("День п.: ");
- printf("%i", k[i].day);
- printf(" || ");
- printf("Месяц п.: ");
- printf("%i", k[i].month);
- printf(" || ");
- printf("Год п.: ");
- printf("%i", k[i].year);
- printf("\n");
- }
- }
- }
- }
- }
- vector <tovar> izm(vector<tovar> k, int counter) //изменение
- {
- int num, choice = 7;
- tovar tov;
- printf("\n-----------------------------------------------\n");
- printf("\nВведите номер товара для изменения : ");
- scanf("%i", &num);
- if (num <= counter)
- {
- printf("Введите наименование товара : ");
- scanf("%s", tov.name);
- printf("Введите количество данного товара : ");
- scanf("%i", &tov.counter);
- printf("Введите цену за 1 ед. товара : ");
- scanf("%i", &tov.price);
- printf("Введите день поступления товара : ");
- scanf("%i", &tov.day);
- printf("Введите месяц поступления товара : ");
- scanf("%i", &tov.month);
- printf("Введите год поступления товара : ");
- scanf("%i", &tov.year);
- k[num - 1] = tov;
- }
- return k;
- }
- vector <tovar> del(vector<tovar> k, int counter)
- {
- int num, choice = 7;
- printf("\n-----------------------------------------------\n");
- printf("\nВведите номер товаров для удаления : ");
- scanf("%i", &num);
- auto iter = k.cbegin();
- k.erase(iter + num - 1);
- return k;
- }
- void sort(vector<tovar> k, int counter)
- {
- int pr, year = 2018, day = 4, month = 1;
- for (int i = 0; i < counter - 1; i++)
- {
- pr = k[i].counter * k[i].price;
- if (pr > 1000000)
- {
- if (k[i].year < year || month - k[i].month > 1)
- {
- printf("Результаты сортировки : \n");
- printf("%i", i + 1);
- printf(".\t");
- printf("Наименование : ");
- printf("%s", k[i].name);
- printf(" || ");
- printf("РљРѕР»-РІРѕ : ");
- printf("%i", k[i].counter);
- printf(" || ");
- printf("Цена за 1 шт. :");
- printf("%i", k[i].price);
- printf(" || ");
- printf("День п.: ");
- printf("%i", k[i].day);
- printf(" || ");
- printf("Месяц п.: ");
- printf("%i", k[i].month);
- printf(" || ");
- printf("Год п.: ");
- printf("%i", k[i].year);
- printf("\n");
- }
- else if ((month = k[i].month && day > k[i].day))
- {
- printf("Результаты сортировки : \n");
- printf("%i", i + 1);
- printf(".\t");
- printf("Наименование : ");
- printf("%s", k[i].name);
- printf(" || ");
- printf("РљРѕР»-РІРѕ : ");
- printf("%i", k[i].counter);
- printf(" || ");
- printf("Цена за 1 шт. :");
- printf("%i", k[i].price);
- printf(" || ");
- printf("День п.: ");
- printf("%i", k[i].day);
- printf(" || ");
- printf("Месяц п.: ");
- printf("%i", k[i].month);
- printf(" || ");
- printf("Год п.: ");
- printf("%i", k[i].year);
- printf("\n");
- }
- }
- }
- }
- int main()
- {
- ofstream out("finish.txt");
- int counter, choice = 7;
- vector<tovar> v = mass();
- counter = visual(v);
- vector<tovar> k = new_struct(v, counter);
- visual(k);
- while (choice != 0)
- {
- printf("\n-----------------------------------------------\n");
- printf("Выберите действие ");
- printf("\n1 - поиск товара.");
- printf("\n2 - изменение данных о товаре.");
- printf("\n3 - удаление товара из базы.");
- printf("\n4 - вывести товары стоимость которых > 1000000 и хранятся > месяца + записать все товары в файл ");
- printf("\n0 - выход : ");
- scanf("%i", &choice);
- if (choice == 1) finding(k, counter);
- if (choice == 2)
- {
- vector<tovar> i;
- i = izm(k, counter);
- visual(i);
- }
- if (choice == 3)
- {
- vector<tovar> j;
- j = del(k, counter);
- visual(j);
- }
- if (choice == 4)
- {
- sort(k, counter);
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement