Описати структуру з іменем NOTE, яка містить поля: NAME – прізвище, ім'я;
TEL – номер телефону; BDAY – день народження (масив із трьох чисел).
Написати програму, що окремими функціями виконує наступні дії:
– введення з клавіатури даних в масив BLOCKNOTE, що складається з N
змінних типу NOTE;
– виведення на екран інформації про людей, чиї дні народження припадають
на місяць, значення якого введено з клавіатури; якщо таких людей немає, то
вивести відповідне повідомлення.
C++
Ответы
#include <iostream>
#include <string>
const int N = 100;
struct NOTE {
std::string NAME;
std::string TEL;
int BDAY[3];
};
void inputData(NOTE blocknote[], int &n) {
std::cout << "Введите количество: ";
std::cin >> n;
std::cin.ignore();
for (int i = 0; i < n; i++) {
std::cout << "Введите фамилию, имя, отчество: ";
std::getline(std::cin, blocknote[i].NAME);
std::cout << "Введите номер телефона: ";
std::cin >> blocknote[i].TEL;
std::cout << "Введите дату рождения (дд мм гггг): ";
std::cin >> blocknote[i].BDAY[0] >> blocknote[i].BDAY[1] >> blocknote[i].BDAY[2];
std::cin.ignore();
}
}
void displayData(NOTE blocknote[], int n, int month) {
int flag = 0;
for (int i = 0; i < n; i++) {
if (blocknote[i].BDAY[1] == month) {
std::cout << "Имя: " << blocknote[i].NAME << std::endl;
std::cout << "Номер телефона: " << blocknote[i].TEL << std::endl;
std::cout << "День рождения: " << blocknote[i].BDAY[0] << "/" << blocknote[i].BDAY[1] << "/" << blocknote[i].BDAY[2] << std::endl;
std::cout << std::endl;
flag = 1;
}
}
if (!flag) {
std::cout << "Нет людей с днем рождения в этом месяце." << std::endl;
}
}
int main() {
NOTE blocknote[N];
int n, month;
inputData(blocknote, n);
std::cout << "Введите месяц: ";
std::cin >> month;
displayData(blocknote, n, month);
return 0;
}