Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <windows.h>
- enum Usage { BOYS, GIRLS, BOYS_AND_GIRLS };
- struct Toy {
- std::string toy_name;
- int article;
- int price;
- std::string country;
- Usage use;
- };
- const int toys_number = 3;
- int main( ) {
- setlocale( LC_ALL, "Russian" );
- Toy toys[toys_number] = { {"a", 12341, 100, "c", Usage::BOYS },
- {"b", 421, 100, "a", Usage::GIRLS},
- {"c", 2412, 4301, "b", Usage::BOYS}
- };
- Toy sorted_array[toys_number];
- int usage;
- std::cout << "ЗдАрова. Ща будем работать с массивом структур из 10 элементов." << std::endl << std::endl;
- unsigned int choice;
- while ( true ) {
- std::cout << "1. Ввести игрушки." << std::endl;
- std::cout << "2. Вывести игрушки в алфавитном порядке стран производителей. " << std::endl;
- std::cout << "3. Поиск по цене игрушек и предназначению. " << std::endl;
- std::cout << "4. Выход. " << std::endl;
- std::cout << "Ваш выбор: ";
- std::cin >> choice;
- system( "cls" );
- switch ( choice ) {
- case 1:
- for ( int i = 0; i < toys_number; i++ ) {
- std::cout << "Введите название " << i + 1 << "-й игрушки: ";
- std::cin >> toys[i].toy_name;
- std::cout << "Введите артикул " << i + 1 << "-й игрушки: ";
- std::cin >> toys[i].article;
- std::cout << "Введите страну производителя " << i + 1 << "-й игрушки: ";
- std::cin >> toys[i].country;
- std::cout << "Введите цену " << i + 1 << "-й игрушки: ";
- std::cin >> toys[i].price;
- std::cout << "Введите назначение игрушки. " << std::endl
- << "1. Для мальчиков. " << std::endl
- << "2. Для девочек." << std::endl
- << "3. Для всех." << std::endl;
- std::cin >> usage;
- if ( usage == 1 ) { toys[i].use = Usage::BOYS; }
- if ( usage == 2 ) { toys[i].use = Usage::GIRLS; }
- if ( usage == 3 ) { toys[i].use = Usage::BOYS_AND_GIRLS; }
- }
- break;
- case 2:
- for ( int i = 0; i < toys_number; i++ ) {
- sorted_array[i].toy_name = toys[i].toy_name;
- sorted_array[i].country = toys[i].country;
- sorted_array[i].price = toys[i].price;
- sorted_array[i].article = toys[i].article;
- sorted_array[i].use = toys[i].use;
- }
- for ( int i = toys_number - 1; i >= 0; i-- )
- {
- for ( int j = 0; j < i; j++ )
- {
- if ( sorted_array[j].country > sorted_array[j + 1].country )
- {
- Toy tmp = sorted_array[j];
- sorted_array[j] = sorted_array[j + 1];
- sorted_array[j + 1] = tmp;
- }
- }
- }
- for ( int i = 0; i < toys_number; i++ ) {
- std::string usage;
- if ( sorted_array[i].use == Usage::BOYS) { usage = "Для мальчиков."; }
- if ( sorted_array[i].use == Usage::GIRLS ) { usage = "Для девочек."; }
- if ( sorted_array[i].use == Usage::BOYS_AND_GIRLS ) { usage = "Для мальчиков и девочек."; }
- std::cout << "Название игрушки: " << sorted_array[i].toy_name << "; Артикул: " << sorted_array[i].article << "; Страна производитель: " << sorted_array[i].country << "; Цена: " << sorted_array[i].price << "; " << usage << std::endl;
- }
- break;
- case 3:
- {
- int find_price;
- int find_use;
- Usage find_usage;
- std::cout << "Введите цену: ";
- std::cin >> find_price;
- std::cout << "Введите назначение игрушки. " << std::endl
- << "1. Для мальчиков. " << std::endl
- << "2. Для девочек." << std::endl
- << "3. Для всех." << std::endl;
- std::cin >> find_use;
- if ( find_use == 1 ) { find_usage = Usage::BOYS; }
- if ( find_use == 2 ) { find_usage = Usage::GIRLS; }
- if ( find_use == 3 ) { find_usage = Usage::BOYS_AND_GIRLS; }
- for ( int i = 0; i < toys_number; i++ ) {
- if ( toys[i].price > find_price && toys[i].use == find_usage) {
- std::string usage;
- if ( toys[i].use == Usage::BOYS ) { usage = "Для мальчиков."; }
- if ( toys[i].use == Usage::GIRLS ) { usage = "Для девочек."; }
- if ( toys[i].use == Usage::BOYS_AND_GIRLS ) { usage = "Для мальчиков и девочек."; }
- std::cout << "Название игрушки: " << toys[i].toy_name << "; Артикул: " << toys[i].article << "; Страна производитель: " << toys[i].country << "; Цена: " << toys[i].price << "; " << usage << std::endl;
- }
- }
- break;
- }
- case 4:
- return 0;
- break;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement