Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ЗАДАНИЕ 7.9 (2)
- // Создать массив, элементами которого являются структуры:
- // список посетителей курсов (фамилия, название курса, длительность курса).
- // Создать функцию, сортирующую данную структуру (например, по длительности),
- // и функцию для поиска нужного значения в структуре.
- // Использовать эти функции по назначению в программе
- // (для вывода отсортированной информации и поиска нужной информации).
- #include <iostream> // Для ВВОДА и ВЫВОДА
- #include <string> // Для string
- using namespace std; // ПРОСТРАНСТВО ИМЁН
- int const size = 5; // Кол-во студентов
- // Структура Студент
- struct student {
- string name; // Фамилия студента
- string name_course; // Название курса
- int duration_course; // Длительность курса (в часах)
- };
- // Сортировка (Пузырьком) Студентов по полю Длительность курса
- void sort_students(student * students, int size) {
- // Сортировка
- for (int i = 0; size > i; i++) {
- for (int j = 0; size - i - 1 > j; j++) {
- if (students[j].duration_course > students[j + 1].duration_course) {
- student var = students[j];
- students[j] = students[j + 1];
- students[j + 1] = var;
- } else {
- continue;
- }
- }
- }
- }
- void search_student(student * students, int size) {
- // Очистка буфера от цифр
- string buff;
- getline(cin, buff);
- // Ввод имени для поиска
- string name;
- cout << "Enter search name: ";
- getline(cin, name);
- // Поиск
- for (int i = 0; size > i; i++) {
- // Если имя ученика совпало с искомым
- if (students[i].name == name) {
- cout << "===[DETECTED STUDENT]===" << endl;
- cout << "Name: " << students[i].name << endl;
- cout << "Name Course: " << students[i].name_course << endl;
- cout << "Duration Course: " << students[i].duration_course << endl;
- cout << "=========================" << endl;
- cout << endl;
- }
- }
- }
- int main() {
- // Создание массива структур Учеников
- student students[size];
- // Цикл ввода данных
- for (int i = 0; size > i; i++) {
- string str;
- cout << "Enter name " << i + 1 << " student: ";
- getline(cin, str);
- students[i].name = str;
- cout << "Enter name course " << i + 1 << " student: ";
- getline(cin, str);
- students[i].name_course = str;
- cout << endl;
- }
- // Цикл ввода Длительности курса
- for (int i = 0; size > i; i++) {
- cout << "Enter duration course " << i + 1 << " student ("
- << students[i].name << "): ";
- cin >> students[i].duration_course;
- }
- cout << endl;
- // Сортировка
- sort_students(students, size);
- // Вывод
- cout << "=========================" << endl;
- for (int i = 0; size > i; i++) {
- cout << "Name: " << students[i].name << endl;
- cout << "Name Course: " << students[i].name_course << endl;
- cout << "Duration Course: " << students[i].duration_course << endl;
- cout << "=========================" << endl;
- }
- cout << endl;
- // Поиск
- search_student(students, size);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement