Problem z funkcją

0

Witam mam problem z programem. Dopiero zaczynam przygodę z C++ i na zaliczenie mam zrobić kalkulator liczący prądy metodą oczkową. Po kompilacji wyskakuję błąd Expression syntax. Mógłby ktoś pomóc?

#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

double R1, R2, R3, R4, R5, R6, E1, E2, E3, Io1, Io2, Io3,
I1, I2, I3, I4, I5, I6, W1, W2, W3, WR;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
         AnsiString R1 = Edit1->Text;
         AnsiString R2 = Edit2->Text;
         AnsiString R3 = Edit3->Text;
         AnsiString R4 = Edit4->Text;
         AnsiString R5 = Edit5->Text;
         AnsiString R6 = Edit6->Text;
         AnsiString E1 = Edit7->Text;
         AnsiString E2 = Edit8->Text;
         AnsiString E3 = Edit9->Text;

                I1 = Io1-Io3;
                I2 = Io1-Io2;
                I3 = Io3-Io2;
                I4 = Io3;
                I5 = Io1;
                I6 = Io2;

WR=[(R1+R2+R5)*(R2+R3+R6)*(R1+R3+R4)+(-R2)*(-R3)*(-R1)+(-R1)*(-R2)*(-R3)]-[(-R1)*(R2+R3+R6)*(-R1)+(R1+R2+R5)*(-R3)*(-R3)+(-R2)*(-R2)*(R1+R3+R4)];

W1=[(E1-E2)*(R2+R3+R6)*(R1+R3+R4)+(-R2)*(-R3)*(E3)+(-R1)*(E2)*(-R3)]-[(-R1)*(R2+R3+R6)*(E3)+(E1-E2)*(-R3)*(-R3)+(-R2)*(E2)*(R1+R3+R4)];

W2=[(R1+R2+R5)*(E2)*(R1+R3+R4)+(E1-E2)*(-R3)*(-R1)+(-R1)*(-R2)*(E3)]-[(-R1)*(E2)*(-R1)+(E3)*(-R3)*(R1+R2+R5)+(E1-E2)*(-R2)*(R1+R3+R4)];

W3=[(R1+R2+R5)*(R2+R3+R6)*(E3)+(-R2)*(E2)*(-R1)+(E1-E2)*(-R2)*(-R3)]-[(E1-E2)*(R2+R3+R6)*(-R1)+(R1+R2+R5)*(E2)*(-R3)+(-R2)*(-R2)*(E3)];

Io1=W1/WR;

Io2=W2/WR;

Io3=W3/WR;
}
2

Odpuść sobie tego borlanda, szkoda na niego czasu. Tutaj na 100% jednym z problemów jest przysłanianie zmiennych. Próbujesz ze zmiennych tekstowych korzystać jak z liczbowych, które przesłoniłeś.

2
double R1 = StrToFloat(Edit1->Text);
1
Adam Borek napisał(a):

 I1 = Io1-Io3;
 I2 = Io1-Io2;
 I3 = Io3-Io2;
...

Io1=W1/WR;
Io2=W2/WR;
Io3=W3/WR;

Jeśli dobrze widzę, to najpierw ktoś wykorzystuje niezdefiniowane zmienne Io1, Io2, Io2, a potem przypisuje im wartość.

0

Tak wygląda teraz, żadnych błedów nie pokazuje ale wyniki wychodzą dziwne i zawsze te same niezależnie od wpisanych wartości. ;/

//---------------------------------------------------------------------------
#include <cstring>
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

double R1, R2, R3, R4, R5, R6, E1, E2, E3, Io1, Io2, Io3,
I1, I2, I3, I4, I5, I6, W1, W2, W3, WR;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
         double R1 = StrToFloat(Edit1->Text);
         double R2 = StrToFloat(Edit2->Text);
         double R3 = StrToFloat(Edit3->Text);
         double R4 = StrToFloat(Edit4->Text);
         double R5 = StrToFloat(Edit5->Text);
         double R6 = StrToFloat(Edit6->Text);
         double E1 = StrToFloat(Edit7->Text);
         double E2 = StrToFloat(Edit8->Text);
         double E3 = StrToFloat(Edit9->Text);

    WR = (((R1+R2+R5)*(R2+R3+R6)*(R1+R3+R4))-(R2*R3*R1)-(R1*R2*R3))-((R1*(R2+R3+R6)*R1)+((R1+R2+R5)*R3*R3)+(R2*R2*(R1+R3+R4)));

    W1 = (((E1-E2)*(R2+R3+R6)*(R1+R3+R4))+(R2*R3*E3)+(R1*E2*R3))-(((E1-E2)*R3*R3)-(R1*(R2+R3+R6)*E3)+(R2*E2*(R1+R3+R4)));

    W2 = (((R1+R2+R5)*E2*(R1+R3+R4))+((E1-E2)*R3*R1)+(R1*R2*E3))-((R1*E2*R1)-(E3*R3*(R1+R2+R5))-((E1-E2)*R2*(R1+R3+R4)));

    W3 = (((R1+R2+R5)*(R2+R3+R6)*E3)+(R2*E2*R1)+((E1-E2)*R2*R3))-((R2*R2*E3)-((E1-E2)*(R2+R3+R6)*R1)-((R1+R2+R5)*E2*R3));

        Io1 = W1/WR;

        Io2 = W2/WR;

        Io3 = W3/WR;

         I1 = Io1-Io3;
         I2 = Io1-Io2;
         I3 = Io3-Io2;
         I4 = Io3;
         I5 = Io1;
         I6 = Io2;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
        Label2->Caption="I1=";
        Label3->Caption="I2=";
        Label4->Caption="I3=";
        Label5->Caption="I4=";
        Label6->Caption="I5=";
        Label7->Caption="I6=";
        Label8->Visible=false;
        Label9->Visible=false;
        Label10->Visible=false;
        Label11->Visible=false;
        Label12->Visible=false;
        Label13->Visible=false;
        Button1->Visible=false;
        Edit7->Visible=false;
        Edit8->Visible=false;
        Edit9->Visible=false;
        Button2->Visible=1;
        Edit1->Text = FloatToStr(I1);
        Edit2->Text = FloatToStr(I2);
        Edit3->Text = FloatToStr(I3);
        Edit4->Text = FloatToStr(I4);
        Edit5->Text = FloatToStr(I5);
        Edit6->Text = FloatToStr(I6);

}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
        Label2->Caption="R1=";
        Label3->Caption="R2=";
        Label4->Caption="R3=";
        Label5->Caption="R4=";
        Label6->Caption="R5=";
        Label7->Caption="R6=";
        Label8->Visible=1;
        Label9->Visible=1;
        Label10->Visible=1;
        Label11->Visible=1;
        Label12->Visible=1;
        Label13->Visible=1;
        Button1->Visible=1;
        Edit7->Visible=1;
        Edit8->Visible=1;
        Edit9->Visible=1;
        Button2->Visible=0;
        Edit1->Text="";
        Edit2->Text="";
        Edit3->Text="";
        Edit4->Text="";
        Edit5->Text="";
        Edit6->Text="";
        Edit7->Text="";
        Edit8->Text="";
        Edit9->Text="";

}
//--------------------------------------------------------------------------- 

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0