Описать структуру с именем Note, содержащую следующие поля:
Фамилия, имя;
номер телефона;
день рождения (массив из трёх чисел);
2.Написать программу, выполняющую следующие действия:
Ввод данных с клавиатуры в массив, состоящий из восьми элементов типа Note; записи должны быть упорядочены по трем первым цифрам номера телефона;
Вывод на экран информации о человеке, чья фамилия введена с клавиатуры; если таких нет, вывести на экран соответствующее сообщение.
C/C++
Помощь в написании кода на C++
struct Note {
string name;
string surname;
string phone_number;
int birthday[3];
};
Для сортировки записей по трем первым цифрам номера телефона вы можете использовать функцию sort() из библиотеки algorithm. Вот пример кода для ввода данных с клавиатуры в массив из восьми элементов типа Note и сортировки записей по трем первым цифрам номера телефона:
#include <iostream>
#include <algorithm>
using namespace std;
struct Note {
string name;
string surname;
string phone_number;
int birthday[3];
};
bool compare(Note a, Note b) {
return a.phone_number.substr(0, 3) < b.phone_number.substr(0, 3);
}
int main() {
Note notes[8];
for (int i = 0; i < 8; i++) {
cout << "Введите имя: ";
cin >> notes[i].name;
cout << "Введите фамилию: ";
cin >> notes[i].surname;
cout << "Введите номер телефона: ";
cin >> notes[i].phone_number;
cout << "Введите день рождения (через пробел): ";
cin >> notes[i].birthday[0] >> notes[i].birthday[1] >> notes[i].birthday[2];
}
sort(notes, notes + 8, compare);
string surname_to_find;
cout << "Введите фамилию для поиска: ";
cin >> surname_to_find;
bool found = false;
for (int i = 0; i < 8; i++) {
if (notes[i].surname == surname_to_find) {
cout << "Имя: " << notes[i].name << endl;
cout << "Фамилия: " << notes[i].surname << endl;
cout << "Номер телефона: " << notes[i].phone_number << endl;
cout << "День рождения: " << notes[i].birthday[0] << "." << notes[i].birthday[1] << "." << notes[i].birthday[2] << endl;
found = true;
break;
}
}
if (!found) {
cout << "Запись не найдена." << endl;
}
}
string name;
string surname;
string phone_number;
int birthday[3];
};
Для сортировки записей по трем первым цифрам номера телефона вы можете использовать функцию sort() из библиотеки algorithm. Вот пример кода для ввода данных с клавиатуры в массив из восьми элементов типа Note и сортировки записей по трем первым цифрам номера телефона:
#include <iostream>
#include <algorithm>
using namespace std;
struct Note {
string name;
string surname;
string phone_number;
int birthday[3];
};
bool compare(Note a, Note b) {
return a.phone_number.substr(0, 3) < b.phone_number.substr(0, 3);
}
int main() {
Note notes[8];
for (int i = 0; i < 8; i++) {
cout << "Введите имя: ";
cin >> notes[i].name;
cout << "Введите фамилию: ";
cin >> notes[i].surname;
cout << "Введите номер телефона: ";
cin >> notes[i].phone_number;
cout << "Введите день рождения (через пробел): ";
cin >> notes[i].birthday[0] >> notes[i].birthday[1] >> notes[i].birthday[2];
}
sort(notes, notes + 8, compare);
string surname_to_find;
cout << "Введите фамилию для поиска: ";
cin >> surname_to_find;
bool found = false;
for (int i = 0; i < 8; i++) {
if (notes[i].surname == surname_to_find) {
cout << "Имя: " << notes[i].name << endl;
cout << "Фамилия: " << notes[i].surname << endl;
cout << "Номер телефона: " << notes[i].phone_number << endl;
cout << "День рождения: " << notes[i].birthday[0] << "." << notes[i].birthday[1] << "." << notes[i].birthday[2] << endl;
found = true;
break;
}
}
if (!found) {
cout << "Запись не найдена." << endl;
}
}
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
struct Note {
string firstName;
string lastName;
string phoneNumber;
int birthday[3];
};
bool compareNotes(Note a, Note b) {
return a.phoneNumber.substr(0, 3) < b.phoneNumber.substr(0, 3);
}
int main() {
Note notes[8];
// Ввод информации о 8 контактах
for (int i = 0; i < 8; i++) {
cout << "Контакт #" << (i + 1) << endl;
cout << "Введите фамилию: ";
cin >> notes[i].lastName;
cout << "Введите имя: ";
cin >> notes[i].firstName;
cout << "Введите номер телефона: ";
cin >> notes[i].phoneNumber;
cout << "Введите день рождения в формате дд.мм.гггг: ";
scanf("%d.%d.%d", ¬es[i].birthday[0], ¬es[i].birthday[1], ¬es[i].birthday[2]);
cout << endl;
}
// Сортировка записей по трем первым цифрам номера телефона
sort(notes, notes + 8, compareNotes);
// Вывод информации о контакте по фамилии
string queryLastName;
bool found = false;
cout << "Введите фамилию для поиска: ";
cin >> queryLastName;
for (int i = 0; i < 8; i++) {
if (notes[i].lastName == queryLastName) {
found = true;
cout << "Найдено: " << notes[i].firstName << " " << notes[i].lastName << endl;
cout << "Номер телефона: " << notes[i].phoneNumber << endl;
cout << "День рождения: " << notes[i].birthday[0] << "." << notes[i].birthday[1] << "." << notes[i].birthday[2] << endl;
cout << endl;
}
}
// Вывод сообщения, если фамилия не найдена
if (!found) {
cout << "Контакт с фамилией " << queryLastName << " не найден." << endl;
}
return 0;
}
```
#include <string>
#include <algorithm>
using namespace std;
struct Note {
string firstName;
string lastName;
string phoneNumber;
int birthday[3];
};
bool compareNotes(Note a, Note b) {
return a.phoneNumber.substr(0, 3) < b.phoneNumber.substr(0, 3);
}
int main() {
Note notes[8];
// Ввод информации о 8 контактах
for (int i = 0; i < 8; i++) {
cout << "Контакт #" << (i + 1) << endl;
cout << "Введите фамилию: ";
cin >> notes[i].lastName;
cout << "Введите имя: ";
cin >> notes[i].firstName;
cout << "Введите номер телефона: ";
cin >> notes[i].phoneNumber;
cout << "Введите день рождения в формате дд.мм.гггг: ";
scanf("%d.%d.%d", ¬es[i].birthday[0], ¬es[i].birthday[1], ¬es[i].birthday[2]);
cout << endl;
}
// Сортировка записей по трем первым цифрам номера телефона
sort(notes, notes + 8, compareNotes);
// Вывод информации о контакте по фамилии
string queryLastName;
bool found = false;
cout << "Введите фамилию для поиска: ";
cin >> queryLastName;
for (int i = 0; i < 8; i++) {
if (notes[i].lastName == queryLastName) {
found = true;
cout << "Найдено: " << notes[i].firstName << " " << notes[i].lastName << endl;
cout << "Номер телефона: " << notes[i].phoneNumber << endl;
cout << "День рождения: " << notes[i].birthday[0] << "." << notes[i].birthday[1] << "." << notes[i].birthday[2] << endl;
cout << endl;
}
}
// Вывод сообщения, если фамилия не найдена
if (!found) {
cout << "Контакт с фамилией " << queryLastName << " не найден." << endl;
}
return 0;
}
```
Похожие вопросы
- C++.Нужна помощь в написании кода.
- Нужна помощь с написанием кода на языке "С"
- Нужна помощь в написании кода С++, пожалуйста.(Структуры)
- Программирование c++. Помогите в написании кода!
- Очень нужна помощь. нужен код на C. Задачка будет в описании.
- Нужна помощь с выполнением заданий в C++
- Помогите с кодом задачи c++. задача на фото
- Помогите пожалуйста написать код на c++, выводящий имя, фамилию и дату рождения нескольких человек
- Помогите пожалуйста написать код на C++
- МОЛЮ О ПОМОЩИ!!! НУЖЕН КОД НА C++!!!!!!!!! ПОМОГИТЕ!!!!!!!!!!!