Структура Sotrudnik, вывод информации о сотрудниках указанного возраста - C++
Формулировка задачи:
1.Описать запись с именем Sotrudnik, содержащую следующие поля:
• фамилия, имя сотрудника;
• стаж работы;
• возраст;
• пол;
2.Написать программу, выполняющую следующие действия:
• Ввод данных с клавиатуры в массив, состоящий из восьми элементов типа Sotrudnik; записи должны быть упорядочены в порядке убывания рабочего стажа;
• Вывод на экран информации о сотрудниках, возраст которых равен величине, которая введена с клавиатуры; если таких нет, вывести на экран соответствующее сообщение.
Посмотрите код, как верно сделать сортировку?
#include <iostream> #include <string.h> #include <locale.h> #define n 3 using namespace std; struct sotrudnik { char FI[20]; int Staj; int Age; char Pol[5]; }; int main() { setlocale(LC_ALL, "rus"); int i, f; sotrudnik a[n]; for (i = 0; i < n; i++) { cout « "ФИ сотрудника\n "; cin » a[i].FI; cout « "Возраст сотрудника\n"; cin » a[i].Age; cout « "Стаж сотрудника\n"; cin » a[i].Staj; cout « "Пол сотрудника\n"; cin » a[i].Pol; } //сортировка убыв sotrudnik x; cout « "Список анкет" « endl; for (i = 0; i < n - 1; i++) for (int k = i + 1; k < n; k++) { if (a[i].Staj < a[k].Staj) { x = a[i]; a[i] = a[k]; a[k] = x; { cout « i « ":" « a[i].FI « "," « a[i].Age « "," « a[i].Staj « "," « a[i].Pol « "." « endl; } } } cout « "Введите возраст сотрудника:"; int vozrast; cin » vozrast; f = 0; for (i = 0; i<n; i++) { if (a[i].Age == vozrast) { f = 1; } } { cout « i « "." « a[i].FI « "," « a[i].Staj « "," « a[i].Age « "," « a[i].Pol « "," « endl; } if (f == 0) { cout « "Таких сотрудников нет" « endl; } system("pause"); return 0; }
Решение задачи: «Структура Sotrudnik, вывод информации о сотрудниках указанного возраста»
textual
Листинг программы
if (a[i].Staj < a[k].Staj) { x = a[i]; a[i] = a[k]; a[k] = x; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д