Структури c++
1. Описати структуру з ім'ям PIDPR, що містить такі поля:
• назва підприємства;
• кількість співробітників;
• дата заснування(масив з трьох чисел).
2. Написати програму, що виконує наступні дії:
• введення з клавіатури даних в масив, що складається з восьми елементів
типу NOTE; записи повинні бути впорядковані по назві підприємства;
• виведення на екран інформації про підприємства, чиї дати заснування
припадають на місяць, значення якого введено з клавіатури;
• якщо таких немає, видати на дисплей відповідне повідомлення.
Ответы
Ответ:
Звучить як цікаве завдання! Ось приклад, як ви можете створити структуру PIDPR у мові C++ і написати програму для виконання описаних дій:
```cpp
#include <iostream>
#include <string>
const int SIZE = 8;
struct PIDPR {
std::string companyName;
int employeesCount;
int foundationDate[3];
};
void inputPIDPR(PIDPR &pidpr) {
std::cout << "Введіть назву підприємства: ";
std::cin >> pidpr.companyName;
std::cout << "Введіть кількість співробітників: ";
std::cin >> pidpr.employeesCount;
std::cout << "Введіть дату заснування (день, місяць, рік): ";
for (int i = 0; i < 3; i++) {
std::cin >> pidpr.foundationDate[i];
}
}
void sortPIDPR(PIDPR pidprArr[], int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (pidprArr[j].companyName > pidprArr[j + 1].companyName) {
PIDPR temp = pidprArr[j];
pidprArr[j] = pidprArr[j + 1];
pidprArr[j + 1] = temp;
}
}
}
}
void printByMonth(PIDPR pidprArr[], int size, int month) {
bool found = false;
for (int i = 0; i < size; i++) {
if (pidprArr[i].foundationDate[1] == month) {
std::cout << "Назва підприємства: " << pidprArr[i].companyName << std::endl;
std::cout << "Кількість співробітників: " << pidprArr[i].employeesCount << std::endl;
std::cout << "Дата заснування: " << pidprArr[i].foundationDate[0] << "."
<< pidprArr[i].foundationDate[1] << "."
<< pidprArr[i].foundationDate[2] << std::endl;
std::cout << "---------------------" << std::endl;
found = true;
}
}
if (!found) {
std::cout << "Підприємства, засновані в цьому місяці, відсутні." << std::endl;
}
}
int main() {
PIDPR pidprArr[SIZE];
std::cout << "Введіть дані про " << SIZE << " підприємств:" << std::endl;
for (int i = 0; i < SIZE; i++) {
std::cout << "Підприємство #" << i + 1 << std::endl;
inputPIDPR(pidprArr[i]);
std::cout << "---------------------" << std::endl;
}
sortPIDPR(pidprArr, SIZE);
int month;
std::cout << "Введіть номер місяця: ";
std::cin >> month;
std::cout << "Підприємства, засновані в цьому місяці:" << std::endl;
printByMonth(pidprArr, SIZE, month);
return 0;
}
```
Цей код дозволяє ввести дані про 8 підприємств, впорядкувати їх за назвою та вивести інформацію про підприємства, засновані в певному місяці, який вводить користувач.