Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 22.12.2022
Сообщений: 4

Инициализация переменных

22.12.2022, 14:43. Показов 567. Ответов 8

Студворк — интернет-сервис помощи студентам
Всем привет. У меня такой вопрос: как инициализировать переменные в данном коде? Результаты работы программы и предупреждения, которые выдаёт Visual Studio на данный момент, прикрепил во вложения.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#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];
    NOTE* NOTE1;
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();
    }
};
int main() {
    setlocale(LC_ALL, "Rus");
    NOTE People;
    People.PrintRead();
    People.Sorting();
    People.PrintWrite();
    cout << "\n";
    system("pause");
    return 0;
}
Миниатюры
Инициализация переменных   Инициализация переменных  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.12.2022, 14:43
Ответы с готовыми решениями:

инициализация переменных
подскажите пожалуйста, какая разница у этих инициализаций? #include &lt;iostream&gt; int main(){

Инициализация переменных
Всем доброго времени! У меня возникла проблемка, которая, вроде, простая, но вроде и сложная... Дело в том что после написания функции она...

Инициализация переменных = || ()
Здравствуйте ,меня уже долгое время мучает вопрос ,в чем отличие такой инициализации int ppp = 10 от int ppp(10) ? Дайте пожалуйста...

8
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
22.12.2022, 14:51
Цитата Сообщение от RDI01 Посмотреть сообщение
NOTE* NOTE1;
зачем у тебя массив внутри класса лежит?
0
0 / 0 / 0
Регистрация: 22.12.2022
Сообщений: 4
22.12.2022, 15:08  [ТС]
Это указатель, через него я получаю доступ к переменным класса. Разве он не нужен? Как тогда работать с переменными класса?

Добавлено через 3 минуты
Просто в этой программе изначально использовалась структура, а со всеми тонкостями работы с классами я не знаком.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
22.12.2022, 15:51
Я понимаю, что ты получаешь. Зачем тебе он в поле класса?
Поле класса это уникальное свойство каждого экземпляра.
У класса танк есть поля икс, игрек, здоровье, число снарядов!
Полей "количество танков" "массив всех танков" или там "максимальное расстояние между танками"
в классе танк быть не должно! Это не особенность одного танка!


И что с того что раньше была структура? В структуре тоже есть поля.
У тебя было разве поле NOTE* в структуре?
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
22.12.2022, 16:03
Цитата Сообщение от RDI01 Посмотреть сообщение
по дням рождениям
по дням рождения
0
0 / 0 / 0
Регистрация: 22.12.2022
Сообщений: 4
22.12.2022, 16:06  [ТС]
Нет, поля NOTE* не было:

C++
1
2
3
4
struct NOTE {
    int year, day, month, housenum, flat;
    char surname[15], name[15], name2[15], city[15], street[15], phone[15];
}*NOTE1;
0
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
22.12.2022, 16:09
Любопытно, Sorting() в результате в самом деле сортирует по году, месяцу, дню все записи?

Добавлено через 3 минуты
Цитата Сообщение от RDI01 Посмотреть сообщение
как инициализировать переменные в данном коде?
Вы неправду пишете, компилятор вам говорит (по-русски!) про поля структуры, а не переменные.

Просто в гугле вбиваете код предупреждения C26495 - и на сайте MS читаете как. Всё уже написано в тырнете.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
22.12.2022, 16:25
Цитата Сообщение от RDI01 Посмотреть сообщение
Нет, поля NOTE* не было:
ну значит и в классе тебе не нужно, тоже пиши снаружи.
0
0 / 0 / 0
Регистрация: 22.12.2022
Сообщений: 4
22.12.2022, 16:32  [ТС]
Исправил, но предупреждения об инициализации никуда не делись.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.12.2022, 16:32
Помогаю со студенческими работами здесь

Инициализация переменных С++11
Форумчане, подскажите в чем существенная разница ставить знак равенства &quot;=&quot; или нет (я понимаю что ее нет, но ведь для чего-то это сделано,...

Объявление и инициализация переменных
помогите исправить, пожалуйста.... Решение: #include &lt;iostream.h&gt; #include &lt;math.h&gt; double GetY (unsigned short int Number); ...

Матрица, инициализация переменных
Здравствуйте. Написала программу, которая должна в матрице в строках с отрицательными элементами брать элемент, который находится на...

Структуры, инициализация переменных
Возможно ли как-либо реализовать такой концепт: Если что-то там, то структура содержит N переменных, если НЕ что-то там, то содержит M? ...

Инициализация и определения переменных
Здравствуйте. Проверьте, пожалуйста, правильно ли я понимаю эту тему. Я написал ответы в комментариях. По книге по которой я изучаю C++...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru