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

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы