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

Ошибка в коде - C++

Восстановить пароль Регистрация
 
027358
1 / 1 / 0
Регистрация: 06.04.2013
Сообщений: 31
06.04.2013, 17:00     Ошибка в коде #1
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <string.h>
#include <iostream.h>
#include <stdio>
#include <vector>
#include <sstream>
#include <iterator>
#pragma hdrstop
 
#include "Unit1.h"
float a,b,c,d,e,f,x,y,z,t,s;
using namespace std;
 
int TForm1::main()
{
 std::vector< double > p;
 std::istringstream stream(Edit7->Text.c_str());
 for( std::istream_iterator< std::string > it( stream ), end; it != end;
 ++it )
 {
 p.push_back( StrToFloat( it->c_str() ) );
 }
}
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
a=StrToFloat(Edit1->Text);
b=StrToFloat(Edit2->Text);
c=StrToFloat(Edit3->Text);
d=StrToFloat(Edit4->Text);
e=StrToFloat(Edit5->Text);
if (CheckBox1->Checked)
{f=0.3;}
if (CheckBox2->Checked)
{f=0.6;}
if (CheckBox3->Checked)
{f=0.9;}
x=(a*2+b*1+c*0.5+d*0.5)*e*f;
Panel1->Caption=FormatFloat("#0.", x)+" Г·Г*Г±(îâ)";
if (x>24)
{t=x/24; Panel1->Caption=FormatFloat("#0.", t)+" Г¤Г*Гї";}
y=x/40+0.5;
Panel2->Caption=FormatFloat("#0.", y);
if (y<1)
{Panel2->Caption="1";}
z=((x/y)/40)*100;
Panel3->Caption=FormatFloat("#0.00", z);
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 Edit1->Clear();
 Edit2->Clear();
 Edit3->Clear();
 Edit4->Clear();
 Edit5->Clear();
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button3Click(TObject *Sender)
{
float o,r,k,l;
 
o=StrToFloat(Edit6->Text);
r=StrToFloat(Edit8->Text);
 
double e = 0;
 for( size_t i = 0; i < p.size(); ++i )  // ТУТ
 {
 e +=(o-p[i])*r;
 }
 
 Panel4->Caption = FloatToStr( e );
 
 r=e/40;
 Panel5->Caption = FloatToStr( r );
}
//---------------------------------------------------------------------------
Вы дает ошибку E2451 Undefined symnol 'p' . Среда разработки Builder. Ошибка в 81 строчке
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2013, 17:00     Ошибка в коде
Посмотрите здесь:

C++ Ошибка в коде.
В чём ошибка.В коде там где коментарий там ошибка поучается. C++
ошибка в коде C++
C++ Ошибка в коде
Ошибка в коде C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
06.04.2013, 17:10     Ошибка в коде #2
027358, потому что вектор нужно передать в функцию.
027358
1 / 1 / 0
Регистрация: 06.04.2013
Сообщений: 31
06.04.2013, 17:14  [ТС]     Ошибка в коде #3
Цитата Сообщение от yoghurt92 Посмотреть сообщение
027358, потому что вектор нужно передать в функцию.
Как это сделать?
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
06.04.2013, 17:29     Ошибка в коде #4
027358, что значит как? Это ваш код?

Добавлено через 41 секунду
027358,

C++
1
void __fastcall TForm1::Button3Click(TObject *Sender, vector< double > &p)
027358
1 / 1 / 0
Регистрация: 06.04.2013
Сообщений: 31
06.04.2013, 17:31  [ТС]     Ошибка в коде #5
Цитата Сообщение от yoghurt92 Посмотреть сообщение
027358, что значит как? Это ваш код?

Добавлено через 41 секунду
027358,

C++
1
void __fastcall TForm1::Button3Click(TObject *Sender, vector< double > &p)
Спасибо, я пытался что то вроде этого написать :

C++
1
void __fastcall TForm1::Button3Click(TObject *Sender, std::vector< double > &p)
но сейчас понял свою ошибку
Yandex
Объявления
06.04.2013, 17:31     Ошибка в коде
Ответ Создать тему
Опции темы

Текущее время: 09:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru