Структуры. С++

  • Автор темы Автор темы ricco
  • Дата начала Дата начала
R

ricco

Помогите пожалуйста с программой в C++
Вот задание:
Описать структуру с именем NOTE, содержащую следующие поля:
— фамилия, имя;
— номер телефона;
— день рождения (массив из трех чисел).
Написать программу, выполняющую следующие действия:
• ввод с клавиатуры данных в массив , состоящий из восьми элементов типа NOTE; записи должны быть упорядочены по трем первым цифрам номера телефона;
• вывод на экран информации о человеке, чья фамилия введена с клавиатуры;
• если такого нет, выдать на дисплей соответствующее сообщение.
Помогите пожалуйста, не получается!
 
Код:
#include<iostream>
#include<fstream>
using namespace std;
struct NOTE {
char fio [100];
char numOfPhone[10];
char birhDay[10];
};

void Print(NOTE *Note);
void Create(NOTE *Note);

int main() {
NOTE Note[3];
Create(Note);
Print(Note);
}

void Create(NOTE *Note) {
for(int i = 0;i < 3;i++) {
cout << endl << "FI: ";
cin >> Note[i].fio;
cout << endl << "Nomer telefona : ";
cin >> Note[i].numOfPhone;
cout << endl << "Data rozhdeniya : ";
cin >> Note[i].birhDay;
}
}

void Print(NOTE *Note) {
for(int i = 0;i < 3;i++) {
cout << endl << "FI : " << Note[i].fio;
cout << endl << "Nomer telefona : " << Note[i].numOfPhone;
cout << endl << "Data rozhdeniya : " << Note[i].birhDay;
}
}
И Проблема с массивом из трех элементов.
 
И Проблема с массивом из трех элементов.
не совсем понятно какая проблема, у меня Ваш код работает (компилятор gcc version 4.7.2 20130108).
Но из замечаний по коду,
NOTE Note[3];
но функция ожидает указатель на Note, мне кажется, что в этом случае это должно работать, но если массив был бы двумерный
Note note[3][3];
и функция ожидала Note** - ваш код наверняка был бы неверным. (и структуры тут не причем, читайте о массивах).

Вобщем если у вас что-то не работает - попробуйте заменить Note note[3] на:
Note *note = new Note[3];

ЗЫ.
И еще ЗАГЛАВНЫМИ буквами принято записывать имена макросов и, иногда, констант (вы пишите NOTE).
с заглавной буквы и верблюжим регистром принято записывать имена классов, структур, енамов, ..., ... (у вас с заглавной буквы записано имя переменной Note).
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!