Schleifenproblem
-
hallo, habe folgende schleife
// CNote.cpp : Definiert den Einsprungpunkt für die Konsolenanwendung. // #include "stdafx.h" int main(int argc, char* argv[]) { int z=1,i=1; char wahl; CSchueler schueler[100]; do { printf ("Schueler %d\n",i); schueler[z].eingeben(); z++; i++; cout<<"Wollen Sie noch einen Schueler eingeben? J/N:"<<endl; wahl=_getch(); wahl=toupper(wahl); } while (wahl=='J'); z=1; i=1; for (z;z<=i;z++) schueler[z].anzeigen(); return 0; }
nachdem j gewählt wurde wird ein weiterer datensatz eingelesen,
wird nun n gewählt sollen beide datensätze nacheinander ausgegeben werden
allerdings wird nur der erste ausgegeben
könnte mir jemand sagen woran es liegt?
-
laß mal die Zeilen
z=1;
i=1;weg
und ändere die for-Schleife so:for(z=0;z<i; ++z)
Dann sollte es schonmal funktionieren.
Btw. das ist C und kein C++. Ansonsten ist mir auch nicht klar, warum Du sowohl mit i, als auch mit z hochzählst. Einmal würde doch genügen oder?MfG Jester
-
danke das läuft erstmal...
das i brauche ich als vergleichswert in der for schleife da ich nicht immer die gleiche anzahl an schülern einlesen willist nur n übungsprog
thx
holg
-
klar, Du zählst mit dem i. Und warum zählst Du mit dem z auch noch mit? Zur Kontrolle???
Und gerade in Übungsprogrammen sollte man so genau und pedantisch wie möglich programmieren. Erstens braucht man Übung für die "echten" Programme und zweitens hat man da manchmal nicht die Zeit alles so toll zu machen, da sollte man sich dann aber wenigstens bemühen, daß der Stil nicht zu weit abfällt.MfG Jester