Предмет: Информатика, автор: anastasiyafomina353

С++. Программу Створити за допомогою функцiй і використовуючи regex

Описати структуру з ім'ям NOTE, що містить наступні поля:
• Прізвище ім'я;
• Номер телефону;
• День народження (масив з трьох чисел).

Вивести записи які розміщені за алфавітом;

Вивести на екран інформації про людей, чиї дні народження припадають на місяць, значення якого введене з клавіатури; • Якщо такого немає, видати на дисплей відповідне повідомлення.

Ответы

Автор ответа: rybinchiik
0

Ответ:

#include <iostream>

#include <string>

#include <vector>

#include <regex>

#include <algorithm>

struct NOTE {

std::string name;

std::string phone_number;

int birthday[3];

};

bool compare_notes(const NOTE& note1, const NOTE& note2) {

return note1.name < note2.name;

}

void print_notes(const std::vector<NOTE>& notes) {

for (const auto& note : notes) {

std::cout << "Name: " << note.name << std::endl;

std::cout << "Phone number: " << note.phone_number << std::endl;

std::cout << "Birthday: " << note.birthday[0] << "/" << note.birthday[1] << "/" << note.birthday[2] << std::endl;

std::cout << std::endl;

}

}

void print_notes_by_month(const std::vector<NOTE>& notes, int month) {

bool found_note = false;

for (const auto& note : notes) {

if (note.birthday[1] == month) {

std::cout << "Name: " << note.name << std::endl;

std::cout << "Phone number: " << note.phone_number << std::endl;

std::cout << "Birthday: " << note.birthday[0] << "/" << note.birthday[1] << "/" << note.birthday[2] << std::endl;

std::cout << std::endl;

found_note = true;

}

}

if (!found_note) {

std::cout << "No notes found with birthday in the specified month." << std::endl;

}

}

int main() {

std::vector<NOTE> notes = {

{"John Smith", "123-456-7890", {1, 2, 1980}},

{"Alice Johnson", "234-567-8901", {3, 4, 1990}},

{"Bob Jones", "345-678-9012", {5, 6, 2000}},

{"Charlie Brown", "456-789-0123", {7, 8, 1970}},

{"David Lee", "567-890-1234", {9, 10, 1985}},

{"Emily Davis", "678-901-2345", {11, 12, 1995}},

};

// Sort notes by name

std::sort(notes.begin(), notes.end(), compare_notes);

// Print sorted notes

std::cout << "Notes sorted by name:" << std::endl;

print_notes(notes);

// Print notes with birthday in specified month

int month;

std::cout << "Enter month to search for (1-12): ";

std::cin >> month;

print_notes_by_month(notes, month);

return 0;

}

Объяснение:

У цьому коді структура NOTE містить ім'я, номер телефону та день народження як масив з трьох чисел. Функція `compare


rybinchiik: КОД НЕ МОЙ!!!!!
anastasiyafomina353: всё равно спасибо ☺️
rybinchiik: пожалуйста
Похожие вопросы
Предмет: Математика, автор: jimmy223