Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Invalid null pointer - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить радиус и центр окружности, на которой лежит наибольшее число точек из заданного массива http://www.cyberforum.ru/cpp-beginners/thread1630633.html
Определить радиус и центр окружности, на которой лежит наибольшее число точек заданного на плоскости массива точек А(xi,yi). AntonAA, пожалуйста, прочитайте правила форума и постарайтесь впредь...
C++ Для каждой строки матрицы определить минимальный элемент, среди которых найти максимальный Задание: Дан двумерный массив из 5 строк и 6 столбцов. Определить для каждой строки минимальный элемент. Среди этих элементов найти максимальный. Не могу понять как из массива минимальных значений... http://www.cyberforum.ru/cpp-beginners/thread1630624.html
Составить программу перевода заданного числа в десятичную систему счисления C++
Дано целое число в двоичной системе счисления, т.е. последовательность цифр 0 и 1. Составить программу перевода этого числа в десятичную систему счисления.
CALLBACK, void * и волокна C++
В общем пытаюсь разобрать университетскую задачку. Поток main(у меня это simpleFourth) преобразует сам себя в нить, а затем создает еще три нити. После этого главная нить потока по очереди...
C++ Неизвестная мне ошибка с листом http://www.cyberforum.ru/cpp-beginners/thread1630567.html
Привет, я тут делаю программу, которая добавляет, убирает, меняет местами и пишет лист. Я, правда, еще не так хорошо знаю листы и принципы их работы, чтобы понять, что это у меня за ошибка. И вообще,...
C++ Нужен совет начинающему программисту Доброго времени суток! Поделитесь экспертным мнением товарищи программисты... Сейчас я дочитываю Лафоре (осталось пару глав) и хотел бы узнать, что мне дальше изучить.. беда вот в чем: город в... подробнее

Показать сообщение отдельно
meJevin
155 / 147 / 58
Регистрация: 18.11.2015
Сообщений: 654
Завершенные тесты: 1

Invalid null pointer - C++

03.01.2016, 11:00. Просмотров 335. Ответов 3
Метки (Все метки)

Так она работает:
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
#include <iostream>
#include <conio.h>
#include <list>
#include <string>
 
using namespace std;
 
void addItem(list<string>& exampleList);
void printList(list<string>& exampleList);
void removeItem(list<string>& exampleList);
void replaceItem(list<string>& exampleList);
 
int main() {
    string input;
 
    list<string> Items;
    do {
        cout << "________________________________________________________________________________\n";
        cout << "                              LIST SIMULATOR 2016";
        cout << "\n________________________________________________________________________________";
        cout << "\n\n1. Add item\n2. Remove item.\n3. Replace items.\n4. Print list.\n5. Exit\n\n";
        cout << "Select the prefered option: ";
        cin >> input;
        if (input == "1")
            addItem(Items);
        else if (input == "2")
            removeItem(Items);
        else if (input == "3")
            replaceItem(Items);
        else if (input == "4")
            printList(Items);
        else if (input == "5")
            break;
        else {
            cout << "Invalid input!\n\n";
            system("pause");
            system("cls");
        }
    } while (true);
 
    return 0;
}
 
void addItem(list<string>& exampleList) {
    system("cls");
    cout << "\n================================================================================\n";
    cout << "                                ADDING TO LIST!";
    cout << "\n\n================================================================================\n";
    string itemName;
    cout << "\n\nEnter the name of item you want to add: ";
    cin >> itemName;
    exampleList.push_back(itemName);
    system("cls");
}
void removeItem(list<string>& exampleList) {
    system("cls");
    int count = 0;
    list<string>::iterator it;
    cout << "\n================================================================================\n";
    cout << "                              REMOVING FROM LIST!";
    cout << "\n\n================================================================================\n";
    string itemName;
    cout << "\n\nEnter the name of item you want to remove: ";
    cin >> itemName;
    cout << "\n";
    for (it = exampleList.begin(); it != exampleList.end(); it++) {
        *it;
        if (itemName == (*it)) {
            exampleList.remove(itemName);
            cout << "Item " << itemName << " was successfuly removed!\n";
            break;
        }
        else
            count++;
        if (count >= (exampleList.size())) {
            cout << "Item " << itemName << " was not found!\n";
            break;
        }
    }
    cout << "\n";
    system("pause");
    system("cls");
}
void printList(list<string>& exampleList) {
    system("cls");
    list<string>::iterator it;
    cout << "\n================================================================================\n";
    cout << "                                LIST PRINTING!";
    cout << "\n\n================================================================================\n";
    cout << "\n\n";
    for (it = exampleList.begin(); it != exampleList.end(); it++) {
        cout << *it << endl;
    }
    cout << "\n";
    system("pause");
    system("cls");
}
void replaceItem(list<string>& exampleList) {
    system("cls");
    string itemName1, itemName2; int count1, count2;
    list<string>::iterator it1 = exampleList.begin();
    list<string>::iterator it2 = exampleList.begin();
    int item1 = 0; int item2 = 0;
    cout << "\n================================================================================\n";
    cout << "                               REPLACING ITEMS!";
    cout << "\n\n================================================================================\n";
    cout << "\n\n";
    cout << "Enter the name of first item you want to replace: ";
    cin >> itemName1;
    cout << "Enter the name of second item you want to replace: ";
    cin >> itemName2;
    count1 = 0;
    for (it1; it1 != exampleList.end(); it1++) {
        *it1;
        if (itemName1 == (*it1)) {
            cout << "Item " << itemName1 << " was found!\n";
            item1 = 1;
            break;
        }
        else
            count1++;
        if (count1 >= (exampleList.size())) {
            cout << "Item " << itemName1 << " was not found!\n";
            break;
        }
    }
    count2 = 0;
    for (it2; it2 != exampleList.end(); it2++) {
        *it2;
        if (itemName2 == (*it2)) {
            cout << "Item " << itemName2 << " was found!\n";
            item2 = 1;
            break;
        }
        else
            count2++;
        if (count2 >= (exampleList.size())) {
            cout << "Item " << itemName2 << " was not found!\n";
            break;
        }
    }
    if ((item1 == 1) && (item2 == 1)) {
        cout << "Replacing!\n";
        exampleList.push_back(itemName1);
        exampleList.push_back(itemName2);
        (*it1) = exampleList.back();
        exampleList.pop_back();
        (*it2) = exampleList.back();
        exampleList.pop_back();
    }
    cout << "\n";
    system("pause");
    system("cls");
}
А так нет:
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
#include <iostream>
#include <conio.h>
#include <list>
#include <string>
 
using namespace std;
 
void addItem(list<string>& exampleList);
void printList(list<string>& exampleList);
void removeItem(list<string>& exampleList);
void replaceItem(list<string>& exampleList);
string proccessMenu(string input, list<string>& exampleList);
 
int main() {
    string userInput;
 
    list<string> Items;
    do {
        cout << "________________________________________________________________________________\n";
        cout << "                              LIST SIMULATOR 2016";
        cout << "\n________________________________________________________________________________";
        cout << "\n\n1. Add item\n2. Remove item.\n3. Replace items.\n4. Print list.\n5. Exit\n\n";
        cout << "Select the prefered option: ";
        cin >> userInput;
        proccessMenu(userInput, Items);
        if (proccessMenu(userInput, Items) == "5")
            break;
    } while (true);
 
    return 0;
}
 
void addItem(list<string>& exampleList) {
    system("cls");
    cout << "\n================================================================================\n";
    cout << "                                ADDING TO LIST!";
    cout << "\n\n================================================================================\n";
    string itemName;
    cout << "\n\nEnter the name of item you want to add: ";
    cin >> itemName;
    exampleList.push_back(itemName);
    system("cls");
}
void removeItem(list<string>& exampleList) {
    system("cls");
    int count = 0;
    list<string>::iterator it;
    cout << "\n================================================================================\n";
    cout << "                              REMOVING FROM LIST!";
    cout << "\n\n================================================================================\n";
    string itemName;
    cout << "\n\nEnter the name of item you want to remove: ";
    cin >> itemName;
    cout << "\n";
    for (it = exampleList.begin(); it != exampleList.end(); it++) {
        *it;
        if (itemName == (*it)) {
            exampleList.remove(itemName);
            cout << "Item " << itemName << " was successfuly removed!\n";
            break;
        }
        else
            count++;
        if (count >= (exampleList.size())) {
            cout << "Item " << itemName << " was not found!\n";
            break;
        }
    }
    cout << "\n";
    system("pause");
    system("cls");
}
void printList(list<string>& exampleList) {
    system("cls");
    list<string>::iterator it;
    cout << "\n================================================================================\n";
    cout << "                                LIST PRINTING!";
    cout << "\n\n================================================================================\n";
    cout << "\n\n";
    for (it = exampleList.begin(); it != exampleList.end(); it++) {
        cout << *it << endl;
    }
    cout << "\n";
    system("pause");
    system("cls");
}
void replaceItem(list<string>& exampleList) {
    system("cls");
    string itemName1, itemName2; int count1, count2;
    list<string>::iterator it1 = exampleList.begin();
    list<string>::iterator it2 = exampleList.begin();
    int item1 = 0; int item2 = 0;
    cout << "\n================================================================================\n";
    cout << "                               REPLACING ITEMS!";
    cout << "\n\n================================================================================\n";
    cout << "\n\n";
    cout << "Enter the name of first item you want to replace: ";
    cin >> itemName1;
    cout << "Enter the name of second item you want to replace: ";
    cin >> itemName2;
    count1 = 0;
    for (it1; it1 != exampleList.end(); it1++) {
        *it1;
        if (itemName1 == (*it1)) {
            cout << "Item " << itemName1 << " was found!\n";
            item1 = 1;
            break;
        }
        else
            count1++;
        if (count1 >= (exampleList.size())) {
            cout << "Item " << itemName1 << " was not found!\n";
            break;
        }
    }
    count2 = 0;
    for (it2; it2 != exampleList.end(); it2++) {
        *it2;
        if (itemName2 == (*it2)) {
            cout << "Item " << itemName2 << " was found!\n";
            item2 = 1;
            break;
        }
        else
            count2++;
        if (count2 >= (exampleList.size())) {
            cout << "Item " << itemName2 << " was not found!\n";
            break;
        }
    }
    if ((item1 == 1) && (item2 == 1)) {
        cout << "Replacing!\n";
        exampleList.push_back(itemName1);
        exampleList.push_back(itemName2);
        (*it1) = exampleList.back();
        exampleList.pop_back();
        (*it2) = exampleList.back();
        exampleList.pop_back();
    }
    cout << "\n";
    system("pause");
    system("cls");
}
string proccessMenu(string input, list<string>& exampleList) {
    if (input == "1")
        addItem(exampleList);
    else if (input == "2")
        removeItem(exampleList);
    else if (input == "3")
        replaceItem(exampleList);
    else if (input == "4")
        printList(exampleList);
    else if (input == "5")
        return input;
    else {
        cout << "Invalid input!\n\n";
        system("pause");
        system("cls");
    }
    return 0;
}
Я ужасно с этими указателями обращаюсь, потому что их толком еще не изучал. Поэтому понять, почему вот такая ошибка не могу, помогите пожалуйста:
0
Миниатюры
Invalid null pointer  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru