[C++] Arrayausgabe in C++

[Vortex]

Cadet 2nd Year
Registriert
Sep. 2004
Beiträge
18
Hi,
ich habe folgendes Problem: ich möchte von einem zweidimensionalen Array wie dem folgenden jeweils nur das erste Element auf einem Panel ausgeben. Hierbei handelt es sich um ein Mathequiz mit Fragen und Antworten. Es soll jeweils nur die Frage ausgegeben werden (also 3x3+8, 5+3x4, usw.).

Code:
 const int MAX = 10;
 AnsiString Quiz[MAX][6] = {
                            {"3 x 3 + 8","15","16","17","19","3"},
                            {"5 + 3 x 4","16","17","20","32","2"},
                            {"3 - 2 x 7","7","14","-10","-11","4"},
                            {"2 / 4 x 3","1,5","2","2,3","3","1"},
                            {"9 - 12 / 4","5","6","6","-0,75","2"},
                            {"12 x 12 - 12","144","130","134","132","4"},
                            {"13 x 8 / 4","24","25","26","27","3"},
                            {"3 / 4 - 13","-1","0","1","2","1"},
                            {"3 / 4 x 2","1","1,5","3","2,5","2"},
                            {"67 - 3 x 8","42","41","44","43","4"},
                           };
 int frage = 0;

Den Button habe ich bisher mit folgendem Code belegt:

Code:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 for (int i=0; i<MAX; i++)
  Panel1->Caption = Quiz[i][0] + " = ?";
}

Habe bisher erfolglos versucht die Ausgabe ordentlich hinzubekommen. Beim Ausführen wird jeweils nur die letzte Frage (also 67 - 3 x 8) ausgegeben. Wie kann ich die Bedingung so abändern, dass beim Klick auf den Button nacheinander alle Fragen angezeigt werden? :( Hoffe ihr könnt mir helfen. Gruß [Vortex].
 
AW: Arrayausgabe in C++

Naja, Du weist mit jedem Schleifendurchlauf eine neue Caption zu. Entweder musst Du den String verlängern, z.B. mit += o.ä. oder Du gibst das in einer Listbox oder so aus.
 
AW: Arrayausgabe in C++

Richtig.

Du hast eine Eigenschaft des Objekts und veränderst diese jedes mal bis der Zähler beim letzten Feld des Arrays angekommen ist, deshalb wird auch nur das letzte angezeigt.
 
AW: Arrayausgabe in C++

Probiers mal mit

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Panel1->Caption = Quiz[frage][0] + " = ?";
if (frage < MAX)
frage++;
else
frage = 0;
}
 
AW: Arrayausgabe in C++

Okay danke für die Antworten. So funktioniert das. Muss halt nur noch die Fehlermeldung am Ende abfangen.
 
Zurück
Oben