С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для Olga1212
2 / 2 / 1
Регистрация: 18.11.2012
Сообщений: 90

Объясните код

07.04.2021, 19:40. Показов 391. Ответов 0

Студворк — интернет-сервис помощи студентам
C++
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
131
132
133
134
#include <iostream>
#include <algorithm>
using namespace std;
struct Date {
    int day;
    int month;
    int year;
};
struct Student {
    int id;
    string surname;
    string name;
    string patronymic;
    string address;
    int telephone;
    string faculty;
    int course;
    int group;
    Date date;
};
int menu();
int menu2();
void faculty(Student arr[], int n);
void alphabet(Student arr[],int n) ;
void year(Student arr[],int n) ;
void show(const Student& obj) {
    cout << "ID: " << obj.id << endl;
    cout << "Студент: " << obj.surname <<" " << obj.name << " " << obj.patronymic << endl;
    cout << "Дата рождения: " << obj.date.day << "." << obj.date.month << "." << obj.date.year << endl;
    cout << "Адрес: " << obj.address << endl;
    cout << "Телефон: " << obj.telephone << endl;
    cout << "Факультет: " << obj.faculty << endl;
    cout << "Курс: " << obj.course << endl;
    cout << "Группа: " << obj.group << endl;
}
int main() {
    Student std1 = {1,"Токаренко","Александр","Николаевич","улица Станиславского 80А, кв.54",634026356,"ННІКНУП",1,1141,28,02,2003};
    Student std2 = {2,"Беляков", "Харитон", "Романович","улица Металургов 32, кв.32",634936236,"Гуманитарный",1,1141,02,12,2004};
    Student std3 = {3,"Петренко", "Татьяна", "Анатолиевна","улица Каштановая 27, кв.84",630926356,"ННІКНУП",1,1111,12,06,2002};
    Student std4 = {4,"Кудрявцева", "Таисия", "Станиславовна","улица Янтарная, дом 27",634003356,"Факультет экономики моря",1,1234,30,10,2003};
    Student std5 = {5,"Силин", "Йоханес", "Михайлович","улица Есенина 1Б, кв.32",634022303,"ННІКНУП",1,1141,12,12,2004};
    Student arr[] = {std1,std2,std3,std4,std5};
    int number;
    int number2;
    do {
        number = menu();
        switch (number) {
            case 1: {
              faculty(arr,5);
            }  break;
            case 2: {
                year(arr,5);
            }break;
            case 3: {
                alphabet(arr,5);
            } break;
            case 4: {
                for (const auto & i : arr) show(i);
            } break;
        }
    } while (number != 0);
}
int menu() {
    cout << "1. Cписок студентов указанного факультета" << endl;
    cout << "2. Список студентов, которые родились после указанного года" << endl;
    cout << "3. Список учебной группы в алфавитном порядке" << endl;
    cout << "4. Вывести всех студентов" << endl;
    cout << "0. Выход" << endl;
    int n;
    cin >> n;
    return n;
}
int menu2() {
    cout << "1. ННІКНУП" << endl;
    cout << "2. Факультет экономики моря" << endl;
    cout << "3. Гуманитарный" << endl;
    cout << "0. Выход" << endl;
    int n;
    cin >> n;
    return n;
}
void year(Student arr[],int n) {
    cout << "Введите год рождения" << endl;
    int year;
    cin >> year;
    for (int i = 0; i < n; i++) {
        if (arr[i].date.year > year) show(arr[i]);
    }
}
void alphabet(Student arr[],int n) {
    string arr2[5];
    for (int i = 0; i < 5; i++) {
        arr2[i] = arr[i].surname;
    }
    sort(arr2, arr2 + 5);
    for (auto & i : arr2) {
        cout << i << endl;
    }
    Student arr3[5];
    for (int i = 0; i < 5; ++i) {
        for (int j = 0; j < 5; ++j) {
            if (arr2[i] == arr[j].surname) arr3[i] = arr[j];
        }
    }
    for (const auto & i : arr3) {
        show(i);
    }
}
void faculty(Student arr[], int n) {
    int number2;
    do {
        number2 = menu2();
        switch (number2) {
            case 1: {
                for (int i = 0; i < n; i ++) {
                    if (arr[i].faculty == "ННІКНУП") show(arr[i]);
                }
            }
                break;
            case 2: {
                for (int i = 0; i < n; i ++) {
                    if (arr[i].faculty == "Факультет экономики моря") show(arr[i]);
                }
            }
                break;
            case 3: {
                for (int i = 0; i < n; i ++) {
                    if (arr[i].faculty == "Гуманитарный") show(arr[i]);
                }
            }
                break;
        }
    } while (number2 != 0);
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.04.2021, 19:40
Ответы с готовыми решениями:

Объясните код
как работает этот код? опишите, пожалуйста void Comb(int m, int l) { if (m==0) { cout &lt;&lt; endl; for (int j(0);...

Объясните код на си++
Пожалуйста, объясните как работает алгоритм #include &lt;cstdlib&gt; #include &lt;math.h&gt; #include &lt;iostream&gt; #include...

Объясните код
Всем привет. На просторах интернета нашел функцию, которая создает обратную матрицу. Проблема в том, что я не понимаю как она работает. ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.04.2021, 19:40
Помогаю со студенческими работами здесь

объясните код
не понятно что означает это int*pointer; pointer=new int Добавлено через 1 минуту я как понял это обычный указатель где...

Объясните код
Есть задача из книги. Я думаю условие, в данной ситуации, скидывать не надо. Вот код: #include&lt;iostream&gt; using namespace...

Объясните код
Объясните, как работают перегрузки оператора = и функций Union ..а точнее указатель this.Заранее спасибо. #include &lt;iostream&gt; ...

Объясните код
Обьясните что обозначают и что делают различные команды и знаки в следующей программе. #include &quot;stdafx.h&quot; #include...

Объясните код
Пожалуйста объясните что да как в этом коде #define MAXLEN sizeof(int) * CHAR_BIT int bintoi(char *s) { int n, sign; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru