Структура 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;
}