Содержание
ВНИМАНИЕ | Для получения программы своего варианта пишите на наш электронный адрес proglabs@mail.ru |
Варианты заданий
№ | Условие |
1 | 1. Описать структуру с именем STUDENT, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
2 | 1. Описать структуру с именем STUDENT, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
3 | 1. Описать структуру с именем STUDENT, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
4 | 1. Описать структуру с именем AEROFLOT, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
5 | 1. Описать структуру с именем AEROFLOT, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
6 | 1. Описать структуру с именем WORKER, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
7 | 1. Описать структуру TRAIN, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
8 | 1. Описать структуру TRAIN, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
9 | 1. Описать структуру TRAIN, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
10 | 1. Описать структуру MARSH, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
11 | 1. Описать структуру MARSH, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
12 | 1. Описать структуру с именем NOTE, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
13 | 1. Описать структуру с именем NOTE, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
14 | 1. Описать структуру с именем NOTE, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
15 | 1. Описать структуру с именем ZNAK, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
16 | 1. Описать структуру с именем ZNAK, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
17 | 1. Описать структуру с именем ZNAK, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
18 | 1. Описать структуру с именем PRICE, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
19 | 1. Описать структуру с именем PRICE, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
20 | 1. Описать структуру с именем ORDER, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
Образец выполнения (вариант №18)
Условие задачи
1. Описать структуру с именем PRICE, содержащую следующие поля:
2. Написать программу, выполняющую следующие действия:
|
Реализация задачи на языке С++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | #include <iostream> // для консольного ввода-вывода #include <string> // для работы со строками #include <Windows.h> // русификация диалогов и вводимых данных #include <iomanip> // форматированный вывод на экран // подключаем стандартное пространство имен using namespace std; // описание сущности "ЦЕНА" struct PRICE { string name_product; // название товара string name_shop; // название магазина int price_product; // стоимость товара в руб. void Input_info_from_keyboard( void ); void Print_to_screen( const size_t number ) const; }; // ввод данных с клавиатуры void PRICE::Input_info_from_keyboard( void ) { cout << "\t- введите название товара: "; getline( cin, this -> name_product ); cout << "\t- введите название магазина: "; getline( cin, this -> name_shop ); cout << "\t- введите стоимость товара (в руб.): "; cin >> this -> price_product; fflush( stdin ); cout << endl; } // вывод информации об одном объекте "ЦЕНА" void PRICE::Print_to_screen( const size_t number ) const { cout << setw( 3 ) << number << setw( 27 ) << this -> name_product << setw( 27 ) << this -> name_shop << setw( 35 ) << this -> price_product << endl; } // вывод информации обо всех объектах на экран void Print_data_to_screen( const PRICE data[], const size_t TOTAL, const string message ) { cout << endl << message << endl; cout << "--------------------------------------------------------------------------------------------------" << endl; cout << " # Название товара Название магазина Стоимость товара в руб. " << endl; cout << "--------------------------------------------------------------------------------------------------" << endl; for ( size_t i = 0; i < TOTAL; i++ ) data[ i ].Print_to_screen( i + 1 ); cout << "--------------------------------------------------------------------------------------------------" << endl; } // сортировка данных по названиям товаров (в алфавитном порядке) // используем сортировку выбором void Sort_data( PRICE data[], const size_t TOTAL ) { for ( size_t i = 0; i < TOTAL - 1; i++ ) { size_t min_index = i; for ( size_t j = i + 1; j < TOTAL; j++ ) if ( data[ j ].name_product < data[ min_index ].name_product ) min_index = j; if ( min_index != i ) swap( data[ i ], data[ min_index ] ); } } // поиск информации о товаре, название которого вводится с клавиатуры void Filter_data_by_name_product( const PRICE data[], const size_t TOTAL ) { string search_name_product; cout << endl << "Введите название товара для поиска: "; getline( cin, search_name_product ); int count = 0; cout << endl << "Информация о товаре \'" << search_name_product << "\'" << endl; cout << "--------------------------------------------------------------------------------------------------" << endl; cout << " # Название товара Название магазина Стоимость товара в руб. " << endl; cout << "--------------------------------------------------------------------------------------------------" << endl; for ( size_t i = 0; i < TOTAL; i++ ) if ( data[ i ].name_product == search_name_product ) { data[ i ].Print_to_screen( i + 1 ); count++; } cout << "--------------------------------------------------------------------------------------------------" << endl; if ( count == 0 ) cout << "В базе данных нет заданного товара!" << endl; } // главная функция программы (точка входа) int main( void ) { // максимальное количество элементов в массиве данных const size_t TOTAL = 8; // массив данных о ценах и товарах PRICE data[ TOTAL ]; // русификация диалогов программы SetConsoleOutputCP( 1251 ); SetConsoleCP( 1251 ); // вводим информацию с клавиатуры for ( size_t i = 0; i < TOTAL; i++ ) { cout << "Ввод информации о ЦЕНЕ №" << ( i + 1 ) << endl; data[ i ].Input_info_from_keyboard(); } // выводим всю информацию на экран в табличном виде Print_data_to_screen( data, TOTAL, "Начальные данные имеют вид:" ); // сортируем входные данных по названию по алфавиту и снова выводим на экран Sort_data( data, TOTAL ); Print_data_to_screen( data, TOTAL, "Данные после сортировки (по названию товара) имеют вид:" ); // поиск информации о товаре, название которого вводится с клавиатуры Filter_data_by_name_product( data, TOTAL ); // задержка программы, чтобы у пользователя была возможность просмотреть результат на экране cout << endl << endl; system( "pause" ); return EXIT_SUCCESS; } |
Результаты работы программы
ВНИМАНИЕ | Для получения программы своего варианта пишите на наш электронный адрес proglabs@mail.ru |
Добавить комментарий