1 / 1 / 2
Регистрация: 19.02.2011
Сообщений: 70
1

В гараже имеется 4 различных автомобиля(ошибка с m_radio)

24.03.2012, 09:23. Показов 2794. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго вечера!!!Тут такое дело, не пойму куда надо вписать m_radio, чтобы программа заработала???
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
#include "stdafx.h"
#include "Lab_3.h"
#include "Lab_3Dlg.h"
 
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
 
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About
 
class CAboutDlg : public CDialog
{
public:
    CAboutDlg();
 
// Dialog Data
    //{{AFX_DATA(CAboutDlg)
    enum { IDD = IDD_ABOUTBOX };
    //}}AFX_DATA
 
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CAboutDlg)
    protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
    //}}AFX_VIRTUAL
 
// Implementation
protected:
    //{{AFX_MSG(CAboutDlg)
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
};
 
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
    //{{AFX_DATA_INIT(CAboutDlg)
    //}}AFX_DATA_INIT
}
 
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    //{{AFX_DATA_MAP(CAboutDlg)
    //}}AFX_DATA_MAP
}
 
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
    //{{AFX_MSG_MAP(CAboutDlg)
        // No message handlers
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()
 
/////////////////////////////////////////////////////////////////////////////
// CLab_3Dlg dialog
 
CLab_3Dlg::CLab_3Dlg(CWnd* pParent /*=NULL*/)
    : CDialog(CLab_3Dlg::IDD, pParent)
{
    //{{AFX_DATA_INIT(CLab_3Dlg)
    m_edLitres = 0.0f;
    m_edPrice = 0.0f;
    m_edWay = 0.0f;
    m_edTonnage = 0.0f;
    m_edWeight = 0.0f;
    m_edNum = 0.0f;
    m_ResultVAZ = 0.0f;
    m_ResultGazel = 0.0f;
    m_ResultGAZ66 = 0;
    m_ResultMepcedec = 0.0f;
    //}}AFX_DATA_INIT
    // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
 
void CLab_3Dlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    //{{AFX_DATA_MAP(CLab_3Dlg)
    DDX_Text(pDX, IDC_EDIT5, m_edLitres);
    DDX_Text(pDX, IDC_EDIT6, m_edPrice);
    DDX_Text(pDX, IDC_EDIT7, m_edWay);
    DDX_Text(pDX, IDC_EDIT8, m_edTonnage);
    DDX_Text(pDX, IDC_EDIT9, m_edWeight);
    DDX_Text(pDX, IDC_EDIT10, m_edNum);
    DDX_Text(pDX, IDC_EDIT1, m_ResultVAZ);
    DDX_Text(pDX, IDC_EDIT2, m_ResultGazel);
    DDX_Text(pDX, IDC_EDIT3, m_ResultGAZ66);
    DDX_Text(pDX, IDC_EDIT4, m_ResultMepcedec);
    //}}AFX_DATA_MAP
}
 
BEGIN_MESSAGE_MAP(CLab_3Dlg, CDialog)
    //{{AFX_MSG_MAP(CLab_3Dlg)
    ON_WM_SYSCOMMAND()
    ON_WM_PAINT()
    ON_WM_QUERYDRAGICON()
    ON_BN_CLICKED(IDC_RADIO1, OnVAZ)
    ON_BN_CLICKED(IDC_RADIO2, OnGazel)
    ON_BN_CLICKED(IDC_RADIO3, OnGAZ66)
    ON_BN_CLICKED(IDC_RADIO4, OnMepcedec)
    ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()
 
/////////////////////////////////////////////////////////////////////////////
// CLab_3Dlg message handlers
 
BOOL CLab_3Dlg::OnInitDialog()
{
    CDialog::OnInitDialog();
 
    // Add "About..." menu item to system menu.
 
    // IDM_ABOUTBOX must be in the system command range.
    ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    ASSERT(IDM_ABOUTBOX < 0xF000);
 
    CMenu* pSysMenu = GetSystemMenu(FALSE);
    if (pSysMenu != NULL)
    {
        CString strAboutMenu;
        strAboutMenu.LoadString(IDS_ABOUTBOX);
        if (!strAboutMenu.IsEmpty())
        {
            pSysMenu->AppendMenu(MF_SEPARATOR);
            pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
        }
    }
 
    // Set the icon for this dialog.  The framework does this automatically
    //  when the application's main window is not a dialog
    SetIcon(m_hIcon, TRUE);         // Set big icon
    SetIcon(m_hIcon, FALSE);        // Set small icon
    
    // TODO: Add extra initialization here
    
    return TRUE;  // return TRUE  unless you set the focus to a control
}
 
void CLab_3Dlg::OnSysCommand(UINT nID, LPARAM lParam)
{
    if ((nID & 0xFFF0) == IDM_ABOUTBOX)
    {
        CAboutDlg dlgAbout;
        dlgAbout.DoModal();
    }
    else
    {
        CDialog::OnSysCommand(nID, lParam);
    }
}
 
// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.
 
void CLab_3Dlg::OnPaint() 
{
    if (IsIconic())
    {
        CPaintDC dc(this); // device context for painting
 
        SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
 
        // Center icon in client rectangle
        int cxIcon = GetSystemMetrics(SM_CXICON);
        int cyIcon = GetSystemMetrics(SM_CYICON);
        CRect rect;
        GetClientRect(&rect);
        int x = (rect.Width() - cxIcon + 1) / 2;
        int y = (rect.Height() - cyIcon + 1) / 2;
 
        // Draw the icon
        dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
        CDialog::OnPaint();
    }
}
 
// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CLab_3Dlg::OnQueryDragIcon()
{
    return (HCURSOR) m_hIcon;
}
 
void CLab_3Dlg::OnVAZ() 
{
m_edLitres = 6.5;     //Ðàñõîä òîïëèâà
m_edPrice   = 17.5;   //Öåíà îäíîãî ëèòðà
m_radio = 0;          //Âêëþ÷èòü ïåðâûé ïåðåêëþ÷àòåëü
UpdateData(0);        //Âûâåñòè äàííûå â ðåäàêòîðû   
}
 
void CLab_3Dlg::OnGazel() 
{
m_edLitres = 8.6;     //Ðàñõîä òîïëèâà
m_edPrice   = 15.3;   //Öåíà îäíîãî ëèòðà
UpdateData(0);        //Âûâåñòè äàííûå â ðåäàêòîðû   
}
 
void CLab_3Dlg::OnGAZ66() 
{
m_edLitres = 10.7;     //Ðàñõîä òîïëèâà
m_edPrice   = 18.9;    //Öåíà îäíîãî ëèòðà
UpdateData(0);         //Âûâåñòè äàííûå â ðåäàêòîðû  
}
 
void CLab_3Dlg::OnMepcedec() 
{
m_edLitres = 12.8;     //Ðàñõîä òîïëèâà
m_edPrice   = 15.2;    //Öåíà îäíîãî ëèòðà
UpdateData(0);         //Âûâåñòè äàííûå â ðåäàêòîðû  
}
 
void CLab_3Dlg::OnButton1() 
{
{
float x;                //Îáúÿâèòü ïåðåìåííóþ
UpdateData(1);          //Ïîëó÷èòü äàííûå èç ðåäàêòîðîâ
if (m_edTonnage != 0)   //Åñëè ãðóçîïîäúåìíîñòü áîëüøå íóëÿ
{
//---Âû÷èñëèòü êîë-âî ïîåçäîê  
m_edNum = int(m_edWeight / m_edTonnage);
x = float(m_edWeight) / float(m_edTonnage);
if (m_edNum < x) m_edNum = m_edNum++;
//---Âû÷èñëèòü ñòîèìîñòü ïîåçäîê   
switch (m_radio) 
{
case 0: m_ResultVAZ = (m_edWay/100)*m_edLitres*m_edPrice*m_edNum;
break; case 1: m_ResultGazel = (m_edWay/100)*m_edLitres*m_edPrice*m_edNum;
break; case 2: m_ResultGAZ66 = (m_edWay/100)*m_edLitres*m_edPrice*m_edNum;
break; case 3: m_ResultMepcedec = (m_edWay/100)*m_edLitres*m_edPrice*m_edNum; break; 
} 
}
UpdateData(0);  //Âûâåñòè äàííûå â ðåäàêòîðû
}
}
Добавлено через 1 минуту
m_radio = 0; //Включить первый переключатель
Выдает не определенный индификатор((

Добавлено через 8 часов 21 минуту
Помогите пожалуйста!!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2012, 09:23
Ответы с готовыми решениями:

Дан номерной знак автомобиля в виде строки символов. Определить, имеется ли в нем сочетание цифр
Дан номерной знак автомобиля в виде строки символов. Определить, имеется ли в нем сочетание...

Определить, сколько различных букв имеется в предложении
Определить, сколько различных букв имеется в предложении #include &lt;iostream&gt; #include &lt;cstring&gt;...

Определить, сколько различных чисел имеется в последовательности
Дана непустая последовательность вещественных чисел, оканчивающаяся числом 1000. Последовательность...

Определить, сколько различных чисел имеется в массиве
Доброго вечера всем. У меня такая проблема: надо сделать программу: задать массив из 100 случайно...

11
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
24.03.2012, 10:05 2
так, а что вы хотели чтобы он вам выдал? я тоже бы вас спросил, что такое m_radio и зачем оно нужно?
0
1 / 1 / 2
Регистрация: 19.02.2011
Сообщений: 70
24.03.2012, 10:26  [ТС] 3
Он включает соответствующий переключатель
Вот само условие задачи:
В гараже имеется 4 различных автомобиля (ВАЗ, Газель, ГАЗ-66, Мерседес), каждый автомобиль имеет свой расход топлива на 100 км пути, а также свою стоимость топлива. Программа должна вычислять стоимость поездки для заданной машины. Реализовать, используя флажки и переключатели, операторы if и switch
Миниатюры
В гараже имеется 4 различных автомобиля(ошибка с m_radio)  
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
24.03.2012, 10:33 4
он у вас привязан к чекбоксу то? видимо нет, раз вылезает неопределнный идентификатор
0
1 / 1 / 2
Регистрация: 19.02.2011
Сообщений: 70
24.03.2012, 10:36  [ТС] 5
У меня нету здесь чекбокса!!
Тут RadioButton.
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
24.03.2012, 10:37 6
ну радиобаттон, какая разница, переменная не привязана!
0
1 / 1 / 2
Регистрация: 19.02.2011
Сообщений: 70
24.03.2012, 10:38  [ТС] 7
ясно!!!
А в какую строчку надо вписать ее?
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
24.03.2012, 10:39 8
также как вы и привязали остальные параметры, если это MFC то через add member variable
1
1 / 1 / 2
Регистрация: 19.02.2011
Сообщений: 70
24.03.2012, 11:27  [ТС] 9
Что бы не создавать новую тему решил тут отписатся, т.к это почти одно и тоже!!
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
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
// Lab_4Dlg.cpp : implementation file
//
 
#include "stdafx.h"
#include "Lab_4.h"
#include "Lab_4Dlg.h"
 
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
 
struct Garage
{
    float Litres; //Расход топлива
    float Price;  //Цена одного литра
    float Way;    //Расстояние
    int Tonnage;  //Грузоподъемность
    int Weight;   //Вес груза
};
Garage car[10];   //Объявить массив
float Result;     //Объявить переменную
int NumCars;      //Количество автомобилей в списке
 
class CAboutDlg : public CDialog
{
public:
    CAboutDlg();
 
// Dialog Data
    //{{AFX_DATA(CAboutDlg)
    enum { IDD = IDD_ABOUTBOX };
    //}}AFX_DATA
 
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CAboutDlg)
    protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
    //}}AFX_VIRTUAL
 
// Implementation
protected:
    //{{AFX_MSG(CAboutDlg)
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
};
 
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
    //{{AFX_DATA_INIT(CAboutDlg)
    //}}AFX_DATA_INIT
}
 
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    //{{AFX_DATA_MAP(CAboutDlg)
    //}}AFX_DATA_MAP
}
 
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
    //{{AFX_MSG_MAP(CAboutDlg)
        // No message handlers
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()
 
/////////////////////////////////////////////////////////////////////////////
// CLab_4Dlg dialog
 
CLab_4Dlg::CLab_4Dlg(CWnd* pParent /*=NULL*/)
    : CDialog(CLab_4Dlg::IDD, pParent)
{
    //{{AFX_DATA_INIT(CLab_4Dlg)
    m_edAdd = _T("");
    m_edPrice = 0.0f;
    m_edWay = 0.0f;
    m_edTonnage = 0.0f;
    m_edWeight = 0.0f;
    m_edNum = 0.0f;
    m_edLitres = 0.0f;
    m_cbWeight = FALSE;
    m_cbWay = FALSE;
    //}}AFX_DATA_INIT
    // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
 
void CLab_4Dlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    //{{AFX_DATA_MAP(CLab_4Dlg)
    DDX_Control(pDX, IDC_LIST2, m_lbResult);
    DDX_Control(pDX, IDC_LIST1, m_lbGarage);
    DDX_Text(pDX, IDC_EDIT1, m_edAdd);
    DDX_Text(pDX, IDC_EDIT3, m_edPrice);
    DDX_Text(pDX, IDC_EDIT4, m_edWay);
    DDX_Text(pDX, IDC_EDIT5, m_edTonnage);
    DDX_Text(pDX, IDC_EDIT6, m_edWeight);
    DDX_Text(pDX, IDC_EDIT7, m_edNum);
    DDX_Text(pDX, IDC_EDIT2, m_edLitres);
    DDX_Check(pDX, IDC_CHECK1, m_cbWeight);
    DDX_Check(pDX, IDC_CHECK2, m_cbWay);
    //}}AFX_DATA_MAP
}
 
BEGIN_MESSAGE_MAP(CLab_4Dlg, CDialog)
    //{{AFX_MSG_MAP(CLab_4Dlg)
    ON_WM_SYSCOMMAND()
    ON_WM_PAINT()
    ON_WM_QUERYDRAGICON()
    ON_LBN_SELCHANGE(IDC_LIST2, OnGarage)
    ON_BN_CLICKED(IDC_BUTTON1, OnAdd)
    ON_BN_CLICKED(IDC_BUTTON2, OnDel)
    ON_BN_CLICKED(IDC_BUTTON3, OnSave)
    ON_BN_CLICKED(IDC_BUTTON4, OnOptimum)
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()
 
/////////////////////////////////////////////////////////////////////////////
// CLab_4Dlg message handlers
 
BOOL CLab_4Dlg::OnInitDialog()
{
    CDialog::OnInitDialog();
 
//---Добавим в список автомобили    
m_lbGarage.AddString("ВАЗ"); 
m_lbGarage.AddString("Газель"); 
m_lbGarage.AddString("ГАЗ-66"); 
m_lbGarage.AddString("Мерседес");
//---Заполняем массив    данных: ВАЗ    
car[0].Litres=8.5;
car[0].Price=15;
car[0].Way=100;
car[0].Tonnage=400;
car[0].Weight=500;
//---Газель   
car[1].Litres=15;
car[1].Price=12;
car[1].Way=100;
car[1].Tonnage=1500;
car[1].Weight=500;
//---ГАЗ-66  
car[2].Litres=30;
car[2].Price=10;
car[2].Way=100;
car[2].Tonnage=3500;
car[2].Weight=500;
//---Мерседес   
car[3].Litres=10;
car[3].Price=17;
car[3].Way=100;
car[3].Tonnage=500;
car[3].Weight=500;
NumCars = 4;                   //У нас пока четыре автомобиля
m_lbGarage.SetCurSel(0);       //Выбрать 1-й элемент списка (ВАЗ)
//---Вывести данные    о ВАЗе в редакторы   
m_edLitres=car[0].Litres;
m_edPrice=car[0].Price;
m_edWay=car[0].Way;
m_edTonnage=car[0].Tonnage;
m_edWeight=car[0].Weight;
m_edNum=2;
UpdateData(0);
Result = (m_edWay/100)*m_edLitres*m_edPrice*m_edNum;
CString s;                     //Сформировать объект класса CString
s.Format("%0.2f", Result);     //Преобразовать число в строку
m_lbResult.AddString(s);
m_lbResult.AddString("?");
m_lbResult.AddString("?");
m_lbResult.AddString("?");
 
    // IDM_ABOUTBOX must be in the system command range.
    ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    ASSERT(IDM_ABOUTBOX < 0xF000);
 
    CMenu* pSysMenu = GetSystemMenu(FALSE);
    if (pSysMenu != NULL)
    {
        CString strAboutMenu;
        strAboutMenu.LoadString(IDS_ABOUTBOX);
        if (!strAboutMenu.IsEmpty())
        {
            pSysMenu->AppendMenu(MF_SEPARATOR);
            pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
        }
    }
 
    // Set the icon for this dialog.  The framework does this automatically
    //  when the application's main window is not a dialog
    SetIcon(m_hIcon, TRUE);         // Set big icon
    SetIcon(m_hIcon, FALSE);        // Set small icon
    
    // TODO: Add extra initialization here
    
    return TRUE;  // return TRUE  unless you set the focus to a control
}
 
void CLab_4Dlg::OnSysCommand(UINT nID, LPARAM lParam)
{
    if ((nID & 0xFFF0) == IDM_ABOUTBOX)
    {
        CAboutDlg dlgAbout;
        dlgAbout.DoModal();
    }
    else
    {
        CDialog::OnSysCommand(nID, lParam);
    }
}
 
// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.
 
void CLab_4Dlg::OnPaint() 
{
    if (IsIconic())
    {
        CPaintDC dc(this); // device context for painting
 
        SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
 
        // Center icon in client rectangle
        int cxIcon = GetSystemMetrics(SM_CXICON);
        int cyIcon = GetSystemMetrics(SM_CYICON);
        CRect rect;
        GetClientRect(&rect);
        int x = (rect.Width() - cxIcon + 1) / 2;
        int y = (rect.Height() - cyIcon + 1) / 2;
 
        // Draw the icon
        dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
        CDialog::OnPaint();
    }
}
 
// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CLab_4Dlg::OnQueryDragIcon()
{
    return (HCURSOR) m_hIcon;
}
 
void CLab_4Dlg::OnGarage() 
{
int x = m_lbGarage.GetCurSel(); //Получить позицию в списке
m_edLitres   = car[x].Litres;
m_edPrice     = car[x].Price;
m_edWay        = car[x].Way;
m_edTonnage = car[x].Tonnage;
m_edWeight   = car[x].Weight;
float z;                        //Объявить переменную
if (m_edTonnage>0)            //Если грузоподъемность больше нуля
{
//---Вычислить кол-во поездок  
m_edNum = int(m_edWeight / m_edTonnage);
z = float(m_edWeight) / float(m_edTonnage);
if (m_edNum < z) m_edNum=m_edNum++; 
} 
else m_edNum = 1;
Result = (m_edWay/100)*m_edLitres*m_edPrice*m_edNum;
CString s;                       //Сформировать объект класса CString
s.Format("%0.2f", Result);       //Преобразовать число в строку
m_lbResult.DeleteString(x);      //Удалить строку из списка
m_lbResult.InsertString(x, s);   //Вставить в сп. стр. с результатом
m_lbResult.SetCurSel(x);         //Выделить строку
UpdateData(0);
}
 
void CLab_4Dlg::OnAdd() 
{
UpdateData(1);                 //Получить данные if (m_edAdd != "" && NumCars < 10) 
{
m_lbGarage.AddString(m_edAdd); //Добавить строку в список
car[NumCars].Litres=m_edLitres;
car[NumCars].Price=m_edPrice;
car[NumCars].Way=m_edWay;
car[NumCars].Tonnage=m_edTonnage;
car[NumCars].Weight=m_edWeight;
float z;                       //Объявить переменную
if (m_edTonnage>0)           //Если грузоподъемность больше нуля
{
//---Вычислить кол-во поездок  
m_edNum = int(m_edWeight / m_edTonnage); 
z = float(m_edWeight) / float(m_edTonnage); 
if (m_edNum < z) m_edNum = m_edNum++; 
} 
else m_edNum = 1;
car[NumCars].Num = m_edNum;
Result = (m_edWay/100)*m_edLitres*m_edPrice*m_edNum;
CString s;                       //Сформировать объект класса CString
s.Format("%0.2f", Result);       //Преобразовать число в строку
m_lbResult.AddString(s);         //Добавить строку во 2-й список
m_lbGarage.SetCurSel(NumCars);   //Выделить строку
m_lbResult.SetCurSel(NumCars);   //Выделить строку
NumCars++;                       //Увеличить кол-во автомобилей в списке UpdateData(0); 
} 
}
 
void CLab_4Dlg::OnDel() 
{
    Garage Mas[10]; //Объявить массив для временного хранения данных
    int x=m_lbGarage.GetCurSel(); //Получить поз.курсора в списке
    for (int i=0;i<NumCars;i++) Mas[i]=car[i];
    if (NumCars>0) NumCars--;     //Уменьшить кол-во автомобилей
    for (i=0;i<NumCars;i++)       //Удалить соотв.запись из
        if (i<x) car[i]=Mas[i];   //массива данных
        else car[i]=Mas[i+1];     
    m_lbGarage.DeleteString(x);   //Удалить соотв.
    m_lbResult.DeleteString(x);   //строки из списка
    if (NumCars>0)                //Если в списке остались строки
    {
        m_lbGarage.SetCurSel(NumCars-1);  //Установить крусор на
        m_lbResult.SetCurSel(NumCars-1);  //последнюю строку
        CLab_4Dlg::OnGarage();            //Обновить данные на экране
    };
}
 
void CLab_4Dlg::OnSave() 
{
int x = m_lbGarage.GetCurSel(); //Получить поз. курсора в сп.
UpdateData(1);                  //Получить данные
car[x].Litres   = m_edLitres;
car[x].Price     = m_edPrice;
car[x].Tonnage=m_edTonnage;
if (m_cbWay==0) car[x].Way=m_edWay;
else
for (int i=0;i<NumCars;i++) car[i].Way=m_edWay;
if (m_cbWeight==0) car[x].Weight=m_edWeight;
else
for (int i=0;i<NumCars;i++) car[i].Weight=m_edWeight;
for (int i=0;i<NumCars;i++)
{
m_lbGarage.SetCurSel(i);   //Установить поз. курсора в сп.
CLab_4Dlg::OnGarage();  //Обновить списки и выч. кол. поездок
UpdateData(0);             //Обновить данные
m_lbGarage.SetCurSel(x); CLab_4Dlg::OnGarage();
}
//Вернуться к текущей поз. курсора //Обновить списки и выч. кол. поездок
}
 
void CLab_4Dlg::OnOptimum() 
{
for (int i=0;i<NumCars;i++) 
{
m_lbGarage.SetCurSel(i);   //Установить поз. курсора в сп.
CLab_4Dlg::OnGarage();     //Обновить списки и выч. кол. поездок
UpdateData(0);             //Обновить данные
}
if (NumCars>0) 
{
CString st;
m_lbResult.GetText(0, st);    //Получить первый элемент списка
Result=atof(st);              //и преобразовать его в число
int j = 0;
float n;
for (i=1;i<NumCars;i++) //Найти наименьшую стоимость
{
m_lbResult.GetText(i, st);    //Получить элемент списка
n = atof(st);                 //и преобразовать его в число
if (n<Result)               //Если он меньше полученного ранее 
{
Result=n; j=i; 
} 
}
m_lbGarage.GetText(j, st);    //Получить авт-ль, соотв. наим. стоим.
st ="Оптимальный вариант -автомобиль "+st;
AfxMessageBox(st);            //Вывести сообщение
} 
}
В строке 294:
C++
1
car[NumCars].Num = m_edNum;
Выдает следующую ошибку:
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\Lab_4\Lab_4Dlg.cpp(294) : error C2039: 'Num' : is not a member of 'Garage'
C:\Program Files (x86)\Microsoft Visual Studio\MyProjects\Lab_4\Lab_4Dlg.cpp(15) : see declaration of 'Garage'

Объясните пожалуйста в чем ошибка?
Вот окно программы:
А вот сама задача:
Каждый автомобиль имеет свой расход топлива на 100 км пути, а также свою стоимость топлива. Программа должна вычислять стоимость поездки для заданной машины. Использовать списки и комбинированные поля. Для хранения данных использовать массивы или структуру данных.
Миниатюры
В гараже имеется 4 различных автомобиля(ошибка с m_radio)  
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
24.03.2012, 11:30 10
вы написано где ошибка, читайте что вам пишет компилятор
в структуре Garage нету поля Num!!!
1
1 / 1 / 2
Регистрация: 19.02.2011
Сообщений: 70
24.03.2012, 11:32  [ТС] 11
Все уже нашел ошибку!!)
Там надо было удалить эту строчку вообще)!!!
0
Заблокирован
Автор FAQ
24.03.2012, 15:13 12
Дмитрий12, во первых если на своём RadioButton ты не выставил свойство Group то в ClassWizard-е радиобатона видно не будет, также выложи в архиве весь проект это ускорит решение
Могу дать ссылку на проект работающий с радиобатн и чекбоксом
CheckBoxs или RadioButton
0
24.03.2012, 15:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.03.2012, 15:13
Помогаю со студенческими работами здесь

Определить, сколько различных букв имеется в предложении
помогите решить задачку... Добавлено через 35 минут помогите, хоть чем нибудь!) Добавлено...

Определить, сколько различных чисел имеется в массиве
В массиве из 20 элементов числа образуют неубывающую последовательность. Несколько элементов,...

Сколько имеется различных вариантов выбора случайным образом
2) Совет колледжа состоит из 7-ми студентов, из которых необходимо выбрать председателя совета. его...

Сколько имеется различных перестановок букв слова ПЕРЕСТРЕЛКА
Сколько имеется различных перестановок букв слова ПЕРЕСТРЕЛКА, в которые не входит слово СТРЕЛА?


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru