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(); } Zitieren
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 Zitieren
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...] Zitieren
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. Zitieren
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); } Zitieren
Klotzkopp Geschrieben 30. September 2002 Geschrieben 30. September 2002 Nochmal der wichtige Hinweis: nicht <=5 entweder <5 oder <=4 Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.