Не инициализируются переменные в C++
Всем привет. У меня такая проблема: не могу понять почему переменные в моём коде не инициализируются. По идее переменные должны инициализироваться данными из текстового файла, но этого не происходит и Visual Studio выдаёт предупреждения об инициализации. Вот сам код:
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
class NOTE {
private:
int year, day, month, housenum, flat, i, m, y = 0, N;
char surname[15], name[15], name2[15], city[15], street[15], phone[15];
public:
void PrintRead() {
ifstream fread;
fread.open("list.txt");
if (!fread.is_open()) {
perror("Произошла ошибка при открытии файла\n");
system("pause");
exit(1);
}
cout << "Выводим информации о людях из текстового файла.";
fread >> N;
cout << "\nЛюдей всего: " << N;
for (i = 0; i < N; i++) {
fread >> NOTE1[i].surname >> NOTE1[i].name >> NOTE1[i].name2 >> NOTE1[i].phone >> NOTE1[i].city
>> NOTE1[i].street >> NOTE1[i].housenum >> NOTE1[i].flat >> NOTE1[i].day >> NOTE1[i].month >> NOTE1[i].year;
cout << "\n\nДанные человека №" << i + 1
<< "\nФИО: " << NOTE1[i].surname << " " << NOTE1[i].name << " " << NOTE1[i].name2
<< "\nНомер телефона: " << NOTE1[i].phone
<< "\nАдрес: г. " << NOTE1[i].city << ", ул. " << NOTE1[i].street << ", д. " << NOTE1[i].housenum << ", кв. " << NOTE1[i].flat
<< "\nДата рождения: " << NOTE1[i].day << "." << NOTE1[i].month << "." << NOTE1[i].year;
}
fread.close();
}
void Sorting() {
sort(
NOTE1, NOTE1 + N,
[](NOTE const& lhs, NOTE const& rhs)->bool {
return lhs.day < rhs.day;
}
);
sort(
NOTE1, NOTE1 + N,
[](NOTE const& lhs, NOTE const& rhs)->bool {
return lhs.month < rhs.month;
}
);
sort(
NOTE1, NOTE1 + N,
[](NOTE const& lhs, NOTE const& rhs)->bool {
return lhs.year < rhs.year;
}
);
}
void PrintWrite() {
ofstream fout;
fout.open("rezult.txt");
if (!fout.is_open()) {
perror("Произошла ошибка при открытии файла\n");
system("pause");
exit(1);
}
cout << "\n\nОтсортированный список по дням рождениям:\n";
fout << "Отсортированный список по дням рождениям:\n";
for (i = 0; i < N; i++) {
cout << "\nФИО: " << NOTE1[i].surname << " " << NOTE1[i].name << " " << NOTE1[i].name2
<< "\nНомер телефона: " << NOTE1[i].phone
<< "\nАдрес: г. " << NOTE1[i].city << ", ул. " << NOTE1[i].street << ", д. " << NOTE1[i].housenum << ", кв. " << NOTE1[i].flat
<< "\nДата рождения: " << NOTE1[i].day << "." << NOTE1[i].month << "." << NOTE1[i].year << "\n";
fout << "\nФИО: " << NOTE1[i].surname << " " << NOTE1[i].name << " " << NOTE1[i].name2
<< "\nНомер телефона: " << NOTE1[i].phone
<< "\nАдрес: г. " << NOTE1[i].city << ", ул. " << NOTE1[i].street << ", д. " << NOTE1[i].housenum << ", кв. " << NOTE1[i].flat
<< "\nДата рождения: " << NOTE1[i].day << "." << NOTE1[i].month << "." << NOTE1[i].year << "\n";
}
cout << "\nСписок родившихся в месяце(месяц ввести в числовом формате):";
fout << "\nСписок родившихся в месяце(месяц ввести в числовом формате):";
cin >> m;
fout << m;
if (m < 1 || m>12) {
cout << "\nМесяц указан не верно\n";
fout << "\n\nМесяц указан не верно";
}
else {
for (i = 0; i < N; i++) {
if (m == NOTE1[i].month) {
cout << "\nФИО: " << NOTE1[i].surname << " " << NOTE1[i].name << " " << NOTE1[i].name2
<< "\nНомер телефона: " << NOTE1[i].phone
<< "\nАдрес: г. " << NOTE1[i].city << ", ул. " << NOTE1[i].street << ", д. " << NOTE1[i].housenum << ", кв. " << NOTE1[i].flat
<< "\nДата рождения: " << NOTE1[i].day << "." << NOTE1[i].month << "." << NOTE1[i].year << "\n";
fout << "\nФИО: " << NOTE1[i].surname << " " << NOTE1[i].name << " " << NOTE1[i].name2
<< "\nНомер телефона: " << NOTE1[i].phone
<< "\nАдрес: г. " << NOTE1[i].city << ", ул. " << NOTE1[i].street << ", д. " << NOTE1[i].housenum << ", кв. " << NOTE1[i].flat
<< "\nДата рождения: " << NOTE1[i].day << "." << NOTE1[i].month << "." << NOTE1[i].year << "\n";
y++;
}
}
if (y == 0) {
cout << "\nЛюдей родившихся в " << m << " месяце - нет\n";
fout << "\n\nЛюдей родившихся в " << m << " месяце - нет";
}
}
fout.close();
}
}*NOTE1;
int main() {
setlocale(LC_ALL, "Rus");
NOTE People;
People.PrintRead();
People.Sorting();
People.PrintWrite();
cout << "\n";
system("pause");
return 0;
}