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

Ошибка доступа к полю - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ программа для нахождения нулей функции http://www.cyberforum.ru/cpp-beginners/thread273020.html
ребят нужна срочно программа для нахождения нулей функции y(x)=x^2-2*ln*(x+1) с заданной точностью.
C++ Простановка чисел на координатных осях... Пишу класс на Qt для вывода графиков, никак не могу придумать нормальный алгоритм для проставления чисел на осях... т.е. левое число double и правое double, нужно взять между ними n (3-10) "красивых" чисел, уверен, алгоритм заезженный и у кого-то есть готовое решение... http://www.cyberforum.ru/cpp-beginners/thread273003.html
Visual C++ MFC Рисование ломаной по даблклику
При даблклике в окне появляется ломаная(координаты из массива). Перемещение мыши с зажатой левой кнопкой приводит к появлению линии, которая соединяет любую точку ломаной и текущее положение курсора. Если с линией все более или менее ясно, то вывести ломаную при даблклике не получается. Если в OnDraw написать что-то типа CPoint pt = {CPoint(2, 100), CPoint(200, 10),CPoint(30, 200), CPoint(30,...
чтение матрицы из файла C++
здравствуйте , помогите пожалуйста. в текстовом файле есть матрица 9*9 мне нужно считать из этого файла в двумерный массив ,и вывести на экран. что я делаю неправильно? fstream fi; fi.open("sudoku.txt", ios::in); const int n=9,m=9; int fail = 0; int tab ; int j,i;
C++ Метод Гауса http://www.cyberforum.ru/cpp-beginners/thread272986.html
люди если кто может помочь помогите с задание таким Методом Гаусса решить систему n линейных алгебраических уравне-ний c n неизвестными. Матрица коэффициентов системы и вектор свободных членов хранятся в двух файлах. на С++ буду оч благодарен у самого просто фантазии не хватает как это реализовать
C++ фон окна консольной программы Вобщем вопрос такой. Я работаю в Visual Studio 2010 и коды для цвета фона или текста которые идут в Borland сдесь не пойдут. Я хотел спросить как в Visual Studio фон окна для консольной программы сделать. И одновременно еще вопрос. Внизу код программы и тут я задал цвет текста. Но есть загвоздка, этот цвет теперь применяется для всего текста а не для определенной строки. Как исправить. (только... подробнее

Показать сообщение отдельно
Beleaf
9 / 9 / 3
Регистрация: 14.04.2010
Сообщений: 99
09.04.2011, 16:13     Ошибка доступа к полю
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
264
265
266
267
268
269
270
271
272
273
#include <iostream>
using namespace std;
 
int i = 0;
 
class CDate
{
protected:
    int Year;
    int Month;
    int Day;
    int Hours;
    int Minutes;
public:
    CDate()
    {
        Year = 0;
        Month = 0;
        Day = 0;
        Hours = 0;
        Minutes = 0;
    }
 
    ~CDate() {}
 
    void InputDate()
    {
        cout << "Input Year: ";
        cin >> Year;
        cout << "Input Month: ";
        cin >> Month;
        cout << "Input Day: ";
        cin >> Day;
        cout << "Input Hours: ";
        cin >> Hours;
        cout << "Input Minutes: ";
        cin >> Minutes;
    }
 
    void PrintDate()
    {
        cout << Day << "/" << Month << "/" << Year << " " << Hours << ":" << Minutes << endl;
    }
};
 
class CDirection:public CDate
{
protected:
    char *DispatchCity;
    char *ArrivalCity;
    CDate *DispatchDate;
    CDate *ArrivalDate;
public:
    CDirection()
    {
        DispatchCity = new char[20];
        ArrivalCity = new char[20];
        DispatchDate = new CDate();
        ArrivalDate = new CDate();
    }
 
    ~CDirection() {}
 
    void InputDirection()
    {
        cout << "Input Dispatch City: ";
        cin >> DispatchCity;
        cout << "Input Arrival City: ";
        cin >> ArrivalCity;
        cout << "   Input Dispatch Date" << endl;
        DispatchDate->InputDate();
        cout << "   Input Arrival Date" << endl;
        ArrivalDate->InputDate();
    }
 
    void PrintDirection()
    {
        cout << "Dispatch Date: ";
        DispatchDate->PrintDate();
        cout << "Arrival Date: ";
        ArrivalDate->PrintDate();
    }
};
 
class CTicket
{
protected:
    int TicketNumber;
    int Train;
    int Vagon;
    int Seat;
    double Price;
public:
    CTicket()
    {
        TicketNumber = 0;
        Train = 0;
        Vagon = 0;
        Seat = 0;
        Price = 0.0;
    }
 
    CTicket(int TicketNumber)
    {
        this->TicketNumber = TicketNumber;
        Train = 0;
        Vagon = 0;
        Seat = 0;
        Price = 0.0;
    }
 
    ~CTicket() {}
 
    void InputTicket()
    {
        cout << "Input Train Number For The Ticket: ";
        cin >> Train;
        cout << "Input Vagon Number For The Ticket: ";
        cin >> Vagon;
        cout << "Input Seat Number For The Ticket: ";
        cin >> Seat;
    }
 
    void PrintTicket()
    {
        cout << "Train: " << Train << endl;
        cout << "Vagon: " << Vagon << endl;
        cout << "Seat: " << Seat << endl;
        cout << "Price: " << Price << endl;
    }
};
 
class CSeat:public CDirection
{
protected:
    int SeatNumber;
    char *SeatState;
public:
    CSeat()
    {
        SeatNumber = 0;
        SeatState = new char[1];
    }
 
    CSeat(int SeatNumber)
    {
        this->SeatNumber = SeatNumber;
        SeatState = new char[1];
        SeatState = "a";
    }
 
    void PrintSeat()
    {
        cout << SeatNumber << "-" << SeatState << endl;
    }
 
    void ChangeState(char *SeatState)
    {
        this->SeatState = SeatState;
    }
};
 
class CVagon:public CSeat
{
protected:
    int VagonNumber;
    char *VagonType;
    CSeat *VagonSeats[20];
public:
    CVagon()
    {
        VagonNumber = 0;
        VagonType = new char[15];
        for (i=0; i<20; i++)
        {
            VagonSeats[i] = new CSeat(i);
        }
    }
 
    CVagon(int VagonNumber)
    {
        this->VagonNumber = VagonNumber;
        VagonType = new char[15];
        for (i=0; i<20; i++)
        {
            VagonSeats[i] = new CSeat(i);
        }
    }
 
    void InputVagon(int VagonNumber)
    {
        this->VagonNumber = VagonNumber;
        cout << "Vagon Type: ";
        cin >> VagonType;
    }
 
    void PrintVagon()
    {
        cout << "Vagon Number: " << VagonNumber << endl;
        cout << "Vagon Type: " << VagonType << endl;
        cout << "   Vagon Seats" << endl;
        for (i=0; i<20; i++)
        {
            VagonSeats[i]->PrintSeat();
        }
    }
 
    void ChangeSeatState(int SeatNumber, char *SeatState)
    {
        VagonSeats[SeatNumber]->ChangeState(SeatState);
    }
};
 
class CTrain:public CVagon, CTicket
{
protected:
    int TrainNumber;
    CDirection *TrainDirection;
    CVagon *TrainVagons[20];
    CTicket *TrainTickets[400];
    int VagonsCount;
    int TicketsCount;
public:
    CTrain()
    {
        TrainNumber = 0;
        TrainDirection = new CDirection();
        for (i=0; i<20; i++)
            *(TrainVagons+i) = new CVagon(i);
        for (i=0; i<400; i++)
            *(TrainTickets+i) = new CTicket(i);
    }
 
    CTrain(int TrainNumber)
    {
        this->TrainNumber = TrainNumber;
        TrainDirection = new CDirection();
        for (i=0; i<20; i++)
            *(TrainVagons+i) = new CVagon(i);
        for (i=0; i<400; i++)
            *(TrainTickets+i) = new CTicket(i);
    }
 
    ~CTrain() {}
 
    void InputTrain(int VagonNumber)
    {
        cout << "   Input Train Direction" << endl;
        TrainDirection->InputDirection();
    }
 
    void PrintTrain()
    {
        cout << "Train Number: " << TrainNumber << endl;
        cout << "   Train Direction" << endl;
        TrainDirection->PrintDirection();
        cout << "   Train Vagons" << endl;
        for (i=0; i<20; i++)
            TrainVagons[i]->PrintVagon();
        cout << "   Train Seats" << endl;
        for (i=0; i<20; i++)
            TrainVagons[i]->PrintSeat();
    }
};
 
int main()
{
    CTrain train;
    train.InputTrain(1);
    train.PrintTrain();
    system("PAUSE");
    return 0;
}
При выполнении метода PrintTrain вылетает ошибка доступа к данным, хотя все вроде открыто, даже переделывание полей CVagon в public не выручает. Помогите, пожалуйста, кто может.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru