Тема: Структури
Описати структуру з ім'ям «WORKER», що містить наступні поля:
«П. І. П» робітника; «Назва посади»; «Рік вступу на роботу».
Написати програму для реалізації таких дій :
А). Ввід даних в масив структур типу «WORKER» та сортування записів
в алфавітному порядку (поле «П. І. П»);
Б). Вивід „П. І. П» тих робітників, чий стаж роботи перевищує введене
користувачем значення;
Якщо таких робітників немає— вивести відповідне повідомлення.
#include <iostream>
#include <clocale>
#include <algorithm>
#include <stdio.h>
#include <string.h>
#pragma warning(disable:4996)
using namespace std;
struct Worker
{
char pib[40];
char posada[40];
int year;
};
void InsertionSort(Worker *array, int n)
{
Worker tmp;
for (int i = 1,j; i < n; i++)
{
tmp = array[i];
for ( j=i-1; j>=0 && strcmp(array[j].pib, tmp.pib) > 0;j--)
array[j + 1] = array[j];
array[j + 1] = tmp;
}
}
int main()
{
int stazh, st, fl;
// Оголошення масиву на 10 структур
Worker* array;
int n;
cout << "Number of employees";
// Введення n (число працівників)
cin >> n;
array = new Worker[n];
for (int i = 0; i < n; i++)
{
cout << "Last name of employee\t";
cin >> array[i].pib;
cout << "Title of the post\t";
cin >> array[i].posada;
cout << "Year of entry to work\t";
cin >> array[i].year;
cout << endl;
}
for (int i = 0; i < n; i++)
{
cout << "Last name\t" << array[i].pib;
cout << "Post \t" <<array[i].posada;
cout << " Year \t" << array[i].year;
}
InsertionSort(array, n);
for (int i = 0; i < n; i++)
{
cout << array[i].pib;
}
cout << endl;
cout << "enter the entire length of time: ";
cin >> st;
for (int i = 0; i < n; i++)
{
stazh = (2020 - array[i].year);
if (stazh > st)
{
fl = 1;
cout << array[i].pib;
cout << "\n";
}
}
if ( fl == 0)
cout << "there aren'tsuitable workers ";
}