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

Завершение работы с кодом -1073741819

12.08.2021, 21:34. Показов 1766. Ответов 4

Студворк — интернет-сервис помощи студентам
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
#include <iostream>
#include <algorithm>
#include <string>
#include <map>
#include <iomanip>
#include <fstream>
#include <vector>
 
using namespace std;
int ammount = 0;
bool stopperA1 = true;
bool stopperB1 = true;
bool stopperB2 = true;
bool stopperB3 = true;
bool stopperC1 = true;
bool stopperC2 = true;
bool stopperC3 = true;
 
int iter = 0;
 
class account {
 
protected: 
    string surname;
    string name;
    string date;
    int summ;
public:
    string getDate() {
        return this->date;
    }
    int getSumm() {
        return this->summ;
    }
    string getSurname() {
        return this->surname;
    }
    string getName() {
        return this->name;
    }
    void setSurname(string surname) {
        this->surname = surname;
    }
    void setName(string name) {
        this->name = name;
    }
    void setDate(string date) {
        this->date = date;
    }
    void setSumm(int summ) {
        this->summ = summ;
    }
    account(){
        this->surname = "Ivanov";
        this->name = "Ivan";
        this->date = "21.01.21";
        this->summ = 10000;
    }
    account(string surname, string name, string date, int summ) {
        this->surname = surname;
        this->name = name;
        this->date = date;
        this->summ = summ;
    }
    void print() {
        cout << "Surname ->" + this->surname + "\nName ->" + this->name + "\nDate ->" + this->date;
        cout << "\nSumm ->" + this->summ << endl;
        cout << "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n";
    }
    void specialPrint() {
        cout << "Surname ->" + this->surname + "\nName ->" + this->name << endl;
    }
};
 
account* arr;
 
void fAcc() {
    
    if (iter < ammount) {
        for (int i = 0; i < ammount; i++) {
            if (i == iter) {
                arr[i] = account();
            }
        }
    }
    iter++;
}
void uAcc() {
    string surname;
    string name;
    string date;
    int summ;
    if (iter < ammount) {
        for (int i = 0; i < ammount; i++) {
            if (i == iter) {
                cout << "Fill the form:\n1.Surname ->";
                cin >> surname;
                cout << "\n2.Name ->";
                cin >> name;
                cout << "\n3.Date ->";
                cin >> date;
                cout << "\n4.Summ ->";
                cin >> summ;
                arr[i] = account(surname, name, date, summ);
            }
        }
    }
    iter++;
}
 
void addObj() {
    while (stopperB1) {
        int choice;
        cout << "1.Enter the formulaic account\n2.Enter the unique account\n3.Stop working\n";
        cin >> choice;
        switch (choice) {
        case 1:
            fAcc();
            break;
        case 2:
            uAcc();
            break;
        case 3:
            stopperB1 = false;
            break;
        }
    }
}
 
 
void printAll() {
    for (int i = 0; i < ammount; i++) {
        arr[i].print();
    }
}
 
void deleteObj() {
    account temp(NULL, NULL, NULL, NULL);
    for (int i = 0; i < ammount; i++) {
        cout << i + ".";
        arr[i].specialPrint();
    }
    int accounts = 0;
    cout << "Choose the account to delete\n";
    cin >> accounts;
    for (int i = accounts; i < ammount; i++) {
        arr[i] = arr[i + 1];
        if (i == ammount - 1) {
            arr[i] = temp;
        }
    }
}
 
void searchAcc() {
    string date;
    cout << "Enter the date to search ->";
    cin >> date;
    for (int i = 0; i < ammount; i++) {
        if (date == arr[i].getDate()) {
            arr[i].print();
        }
    }
}
 
void editObj() {
    while (stopperC1) {
        int needed = 0;
        int accounts = 0;
        int field = 0;
        string fields;
        int analog = 0;
        cout << "Choose the account to edit";
        for (int i = 0; i < ammount; i++) {
            cout << i + ".";
            arr[i].specialPrint();
        }
        cin >> accounts;
        cout << "Choose the mutable field:\n1.Surname\n2.Name\n3.Date\n4.Summ\n";
        cin >> field;
        switch (field)
        {
        case 1:
            cin >> fields;
            arr[accounts].setSurname(fields);
            break;
        case 2:
            cin >> fields;
            arr[accounts].setName(fields);
            break;
        case 3:
            cin >> fields;
            arr[accounts].setDate(fields);
            break;
        case 4:
            cin >> analog;
            arr[accounts].setSumm(analog);
            break;
        }
    }
}
 
void sortArr() {
    account temp;
    for (int i = 0; i < ammount - 1; i++) {
        for (int j = 0; j < ammount - i - 1; j++) {
            if (arr[j].getSumm() < arr[j + 1].getSumm()) {
                // меняем элементы местами
                temp.setSurname(arr[j].getSurname());
                arr[j].setSurname(arr[j + 1].getSurname());
                arr[j + 1].setSurname(temp.getSurname());
 
                temp.setName(arr[j].getName());
                arr[j].setName(arr[j + 1].getName());
                arr[j + 1].setName(temp.getName());
 
                temp.setDate(arr[j].getDate());
                arr[j].setDate(arr[j + 1].getDate());
                arr[j + 1].setDate(temp.getDate());
 
                temp.setSumm(arr[j].getSumm());
                arr[j].setSumm(arr[j + 1].getSumm());
                arr[j + 1].setSumm(temp.getSumm());
            }
        }
    }
}
int main() {
    cout << "Enter the ammount of the accounts -> ";
    cin >> ammount;
    account* arr = new account[ammount];
    while (stopperA1) {
        int choice = 0;
        cout << "1.Add the object\n2.Delete the object\n3.Print all the accounts\n4.Search the account\n5.Edit of the object\n6.Sorting of the list\n7.Stop working\n" << endl;
        cin >> choice;
        switch (choice) {
        case 1:
            addObj();
            stopperB1 = true;
            break;
        case 2:
            deleteObj();
            break;
        case 3:
            printAll();
            break;
        case 4:
            searchAcc();
            break;
        case 5:
            editObj();
            break;
        case 6:
            sortArr();
            break;
        case 7:
            stopperA1 = false;
            break;
        }
        
    }
    delete []arr;
    
}
Есть такой код, не до конца понимаю ошибку: у меня не инициализируется массив? Или я просто неправильно создаю его совсем? Что стоит изменить для корректной работы. Изначально задача стояла в том, чтобы разработать систему банка с аккаунтами людей и с соответствующими функциями, разработаными в первом "меню"-свиче.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.08.2021, 21:34
Ответы с готовыми решениями:

Завершение программы с кодом
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main() { FILE *file; ...

завершился с кодом -1073741819
Доброго времени суток! Понадобился одиночный запуск таймера, в книге &quot;М. Шлее&quot; вычитал о статическом методе QTimer::singleShot....

Вылетает с кодом -1073741819
Мне кажется, это из-за QString. вот хедер #ifndef DIALOGS_H #define DIALOGS_H #include &lt;QDialog&gt; #include &lt;QString&gt; ...

4
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12930 / 6798 / 1820
Регистрация: 18.10.2014
Сообщений: 17,208
12.08.2021, 21:52
Цитата Сообщение от painzavr Посмотреть сообщение
Есть такой код
Почему код не выделен тегами? Как это читать?

Цитата Сообщение от painzavr Посмотреть сообщение
Завершение работы с кодом -1073741819
Вы что-то выдумываете . При запуске этой программы она выдает "Enter the ammount of the accounts ->". Никакого "Завершение работы с кодом -1073741819".

Цитата Сообщение от painzavr Посмотреть сообщение
account* arr;
Эта глобальная переменная всегда равна нулю. Разумеется, программа будет падать, если вы попытаетесь выполнить доступ через нулевой указатель.

Цитата Сообщение от painzavr Посмотреть сообщение
у меня не инициализируется массив?
Так а где у вас "инициализируется массив"?
0
фрилансер
 Аватар для Алексей1153
6449 / 5643 / 1129
Регистрация: 11.10.2019
Сообщений: 15,021
12.08.2021, 22:44
Цитата Сообщение от painzavr Посмотреть сообщение
account* arr = new account[ammount];
выделять то он выделяет память

но работает с ней кривовато
Цитата Сообщение от painzavr Посмотреть сообщение
for (int i = accounts; i < ammount; i++) {
arr[i] = arr[i + 1];
if (i == ammount - 1) {
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12930 / 6798 / 1820
Регистрация: 18.10.2014
Сообщений: 17,208
12.08.2021, 23:04
Цитата Сообщение от Алексей1153 Посмотреть сообщение
выделять то он выделяет память
но работает с ней кривовато
Нет, он с "ней" не работает вообще. Глобальная переменная arr всегда равна нулю. Никакого отношения к выделенной памяти она не имеет.
0
фрилансер
 Аватар для Алексей1153
6449 / 5643 / 1129
Регистрация: 11.10.2019
Сообщений: 15,021
12.08.2021, 23:08
точно Я проморгал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.08.2021, 23:08
Помогаю со студенческими работами здесь

Приложение Qt закрывается с кодом -1073741819
Здравствуйте, начала изучать создание GUI приложений в Qt, создала слот, связала с сигналом, компилятор ошибки не выдает, но при запуске...

Приложение завершилось с кодом -1073741819
Здравствуйте. Установил я Qt creator 2.8.0 и библиотеки 4.8.5. Вроде бы все настроил но при запуске приложения оно вылетает. Пишет:...

C:\%path%\untitled.exe завершился с кодом -1073741819
проект собран под линуксом, работает под ним нормально. под виндой собирается без ошибок, но вот при попытку запустить исполняемый...

Завершение программы с кодом -1
Всем доброго времени суток, при компиляции программы возникает следующая ошибка: &quot;kurs.exe&quot;: Загружено:...

Qt creator - Завершился с кодом -1073741819
Привет, дорогие форумчане. Как всегда - &quot;Нужна Ваша помощь&quot; Создал проект для работы с базой данных MySQL. Cоединение проходит. Но вот...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru