xcvbm Geschrieben 30. September 2002 Geschrieben 30. September 2002 Ich habe mal wieder doofe Probleme und komme nicht weiter: die erste Schleife soll mein Array ( Bool nContainerHBT[5][5][5] ) komplett auf false setzen, die Schleife läuft zum ersten erst gar nicht, sondern der Rattert so hindurch. die zweite schleife soll je nachdem wie groß mEingabe* ist x-mal durchlaufen, geht auch nicht- wenn ich es im debugger ausführe hängt das Programm sich auf, bzw. läuft endlos, wenn ich den Debugger dann anhalte kommt die Disassemblierung (was auch immer ich damit anfangen soll), da kann ich dann Stundenlang runterscrollen und sehe nur eine ansteigende Zahl. ich kapier das leider alles nicht so richtig und langsam nervt mich das alles an, seit tagen probier ich rum und habe nur probleme CODE: void CContainerDlg::OnOK() { H=1; B=1; T=1; for(H;H<=5; H++); //Im Array Bool nContainer[5][5][5] alles auf false setzen { nContainerHBT[H][T]=(false); for(B;B<=5; B++); { nContainerHBT[H][T]=(false); for(T;T<=5; T++); { nContainerHBT[H][T]=(false); } } } H=1; B=1; T=1; UpdateData(true); for(H;H<=m_EingabeH; H++); //je nach Eingabe das Array auf true setzen { nContainerHBT[H][T]=(true); for(B;B<=m_EingabeB; B++); { nContainerHBT[H][T]=(true); for(T;T<=m_EingabeT; T++); { nContainerHBT[H][T]=(true); } } } //CDialog::OnOK(); }
Guybrush Threepwood Geschrieben 30. September 2002 Geschrieben 30. September 2002 Hi, ich würde die Semikolons hinter den for Schleifen weglassen. Spaß beiseite, hinter for,do, if usw kommt kein Semikolon weil die Anweisung ja hier normalerweise nicht beendet ist, sondern eine Schleife eingeleitet werden soll. Gruß wasweißich
Orffi Geschrieben 30. September 2002 Geschrieben 30. September 2002 Du solltest hinter jeder for-Zeile das Semikolon wegnehmen. Dann laufen zumindestens die for-Schleifen an. HTH Jan [wasweißich war schneller...]
Klotzkopp Geschrieben 30. September 2002 Geschrieben 30. September 2002 Weitere Anmerkungen: Zulässige Indizes für Arrays gehen von 0 bis (Größe - 1), nicht von 1 bis Größe. Hier also von 0 bis 4.Bei einer verschachtelten Schleife dieser Art muss die Zuweisung nur einmal auftauchen, in der innersten Schleife.Es gibt keinen Grund, true und false in Klammern zu setzen.Du muss irgendwie sicherstellen, dass die drei m_Eingabe-Variablen gültige Werte enthalten. Möglicherweise hast Du das im Klassenassistenten gemacht, kann ich nicht sagen.Wenn diese Methode nicht den Dialog beenden soll, dann solltest Du einen anderen Namen wählen, anstatt OnOK zu überschreiben, ohne CDialog::OnOK() aufzurufen.
xcvbm Geschrieben 30. September 2002 Autor Geschrieben 30. September 2002 ICH BEISS MIR INS KNIE. das läuft - seit Tagen endlich mal ein ergebnis. *g*Periode Danke Jungs! CODE - Nach den Änderungen: void CContainerDlg::OnTestbutton() { H=0; B=0; T=0; for(H;H<=5; H++) //Im Array Bool nContainer[5][5][5] alles auf false setzen { for(B;B<=5; B++) { for(T;T<=5; T++) { nContainerHBT[H][T]=false; } } } H=0; B=0; T=0; m_EingabeH=3; m_EingabeB=3; m_EingabeT=3; for(H;H<=m_EingabeH; H++) //je nach Eingabe das Array auf true setzen { for(B;B<=m_EingabeB; B++) { for(T;T<=m_EingabeT; T++) { nContainerHBT[H][T]=true; } } } if (nContainerHBT[1][1][1]=true) test="Ja"; else { test="Nein"; } UpdateData(true); }
Klotzkopp Geschrieben 30. September 2002 Geschrieben 30. September 2002 Nochmal der wichtige Hinweis: nicht <=5 entweder <5 oder <=4
xcvbm Geschrieben 30. September 2002 Autor Geschrieben 30. September 2002 das habe ich auch noch geändert, 1000 mal Danke für die Hilfe. Ich war echt total verzweifelt, endlich komme ich ein bischen weiter. Noch eine kleine Frage, kann ich die Variable "test" (CString) so benutzen? : CODE: test = test && " ;Ja"; Ich will in einer Schleife immer das Wort " ;Ja" (bzw. Nein) in die Variable schreiben, dabei aber immer den alten Inhalt erhalten. Danke
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden