1. Описати структуру з імʼям WORKER, яка містить наступні поля:
NAME - прізвище та ініціали працівника;
POS - назва посади;
YEAR - рік прийняття на роботу;
MONTH - місяць прийняття на роботу.
Написати програму, що окремими функціями виконує наступні дії:
введення з клавіатури даних в масив TABL, що складається з N змінних типу WORKER;
впорядкування записів в алфавітному порядку;
виведення на екран прізвищ працівників, стаж роботи яких перевищує значення, введене з клавіатури; якщо таких працівників немає, то вивести відповідне повідомлення.
С++ Треба фото вивода (Visual Studio) ДУЖЕ СРОЧНО
Ответы
Ответ:
#include <iostream>
#include <algorithm>
struct WORKER {
std::string NAME;
std::string POS;
int YEAR;
int MONTH;
};
const int N = 5; // Задайте бажану кількість працівників
// Функція для введення даних в масив
void inputWorkers(WORKER tabl[]) {
for (int i = 0; i < N; ++i) {
std::cout << "Enter data for worker " << i + 1 << ":\n";
std::cout << "Name (Last, First Initials): ";
std::getline(std::cin, tabl[i].NAME);
std::cout << "Position: ";
std::getline(std::cin, tabl[i].POS);
std::cout << "Year of employment: ";
std::cin >> tabl[i].YEAR;
std::cout << "Month of employment: ";
std::cin >> tabl[i].MONTH;
std::cin.ignore(); // Очищення буфера введення
std::cout << "\n";
}
}
// Функція для впорядкування записів в алфавітному порядку
void sortWorkers(WORKER tabl[]) {
std::sort(tabl, tabl + N, [](const WORKER &a, const WORKER &b) {
return a.NAME < b.NAME;
});
}
// Функція для виведення на екран прізвищ працівників зі стажем, що перевищує задане значення
void printWorkersWithExperience(WORKER tabl[], int requiredExperience) {
std::cout << "\nWorkers with experience exceeding " << requiredExperience << " years:\n";
bool found = false;
for (int i = 0; i < N; ++i) {
int currentYear = 2023; // Припустимо, що поточний рік - 2023
int experience = currentYear - tabl[i].YEAR;
if (experience > requiredExperience) {
std::cout << "Name: " << tabl[i].NAME << ", Experience: " << experience << " years\n";
found = true;
}
}
if (!found) {
std::cout << "No workers found with the specified experience.\n";
}
}
int main() {
WORKER TABL[N];
inputWorkers(TABL);
sortWorkers(TABL);
int requiredExperience;
std::cout << "Enter the required experience threshold (in years): ";
std::cin >> requiredExperience;
printWorkersWithExperience(TABL, requiredExperience);
return 0;
}
Объяснение:
вибіч, але зараз немає доступу до Visual Studio, спробуй вставити самостійно