Announcement

Collapse
No announcement yet.

2D Array übernimmt Wert nicht

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • 2D Array übernimmt Wert nicht

    wir haben probiert das stringgrid auf verschiedenen edits auszugeben damit fz auf diese edits zugreifen kann
    aber fz speichert die werte nicht. das ist das problem
    Was kann man da machen?

    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    StringGrid1->Cells[0][1]="1";
    StringGrid1->Cells[0][2]="2";
    StringGrid1->Cells[0][3]="3";
    StringGrid1->Cells[0][4]="4";
    StringGrid1->Cells[1][0]="Sesseltyp 1";
    StringGrid1->Cells[2][0]="Sesseltyp 2";
    StringGrid1->Cells[3][0]="Sesseltyp 3";
    StringGrid1->Cells[1][1]=0.5;
    StringGrid1->Cells[1][2]="0,8";
    StringGrid1->Cells[1][3]="0,8";
    StringGrid1->Cells[1][4]="0,2";
    StringGrid1->Cells[2][1]="0,3";
    StringGrid1->Cells[2][2]="0,5";
    StringGrid1->Cells[2][3]="0,5";
    StringGrid1->Cells[2][4]="0,2";
    StringGrid1->Cells[3][1]="0,7";
    StringGrid1->Cells[3][2]="1,0";
    StringGrid1->Cells[3][3]="1,0";
    StringGrid1->Cells[3][4]="0,1";
    }

    float Todouble(char *ch = new char[3])
    {

    double zahl = atof(ch);

    return zahl;
    }

    //---------------------------------------------------------------------------

    void __fastcall TForm1::Button3Click(TObject *Sender)
    {
    Form1->Close();
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    double fz[3][2],bestell[3],best,zeit[3];
    double hoechste[1000],gesamttyp1=0,gesamttyp2=0,gesamttyp3=0,hochzahl[2];
    int i=0;

    double d;
    Edit4->Text=StringGrid1->Cells[1][1]; //Einlesen des Werts in das Editfeld
    fz[0][0]=Edit4->Text.ToDouble(); //EditFeld-Inhalt ín Double umwandeln und auf fz[0][0] speichern
    fz[1][0]=StrToFloat(StringGrid1->Cells[1][2].c_str());
    fz[2][0]=StrToFloat(StringGrid1->Cells[1][3]); //sesselzyp 1
    fz[3][0]=StrToFloat(StringGrid1->Cells[1][4]);
    fz[0][1]=StrToFloat(StringGrid1->Cells[2][1]);
    fz[1][1]=StrToFloat(StringGrid1->Cells[2][2]); //sesseltyp 2
    fz[2][1]=StrToFloat(StringGrid1->Cells[2][3]);
    fz[3][1]=StrToFloat(StringGrid1->Cells[2][4]);
    fz[0][2]=StrToFloat(StringGrid1->Cells[3][1]);
    fz[1][2]=StrToFloat(StringGrid1->Cells[3][2]); //sesseltyp 3
    fz[2][2]=StrToFloat(StringGrid1->Cells[3][3]);
    fz[3][2]=StrToFloat(StringGrid1->Cells[3][4]);
    //fz[0][0]=s;
    Memo1->Lines->Add(fz[0][0]); //Ausgabe 1 von fz[0][0] ergibt 0,5
    bestell[1]=Edit1->Text.ToDouble();
    bestell[2]=Edit2->Text.ToDouble();
    bestell[3]=Edit3->Text.ToDouble();
    Memo1->Lines->Add(fz[0][0]); //Ausgabe 2 von fz[0][0] ergibt 0

  • #2
    Was spricht dagegen, Beiträge die den C++builder betreffen im richtigen Forum zu posten und mal die oben festgehaltenen Beiträge zu lesen

    Beitrag verschoben

    Zur Frage:

    Was geht nicht, was für ein Fehler tritt wo auf?

    Benutze die Codeformatierung, dann kann man den Code lesen
    Zuletzt editiert von Christian Marquardt; 21.10.2009, 15:01.
    Christian

    Comment


    • #3
      Scheint ja nicht wichtig zu sein
      Christian

      Comment


      • #4
        Naja zunaechst solltest du deine Arrays richtig dimensionieren.

        bestell[3] z.B kann man nur mit Intex 0..2 drauf zugreifen und nicht wie bei dir mit:
        bestell[3]=Edit3->Text.ToDouble();

        Comment

        Working...
        X