dynamische Speicherallokation
- 
					
					
					
					
 Hallo! Ich habe mal ne Frage. Folgendes Programm(Auszug) liegt zur Grundlage. int main() { lg *adresse; int i, x, n, m, zahl; double gw, mw; cout <<"Erfassung des Lagerbestandes"; cout <<"\n"; i=0; gw=0; cout <<"\nWieviel Adressen moechten Sie speichern?: "; cin >>zahl; adresse = new lg[zahl]; do { cout <<"\nArtikelname (max. 20 Zeichen): "; cin >>adresse[i].name; // cout <<"\nArtikelnummer: "; cin >>adresse[i].artnr; cout <<"\nLangermenge: "; cin >>adresse[i].lmenge; cout <<"\nArtikelpreis: "; cin >>adresse[i].preis; gw=gw+adresse[i].preis*adresse[i].lmenge; i++; m=i; } while (i<zahl);Da hier ja dynamisch Speicherplatz für die Eingabe geschaffen wird, stellt sich jetzt für mich die Frage, wenn ich nun nicht mit der Abbruchbedingung -> while (i<zahl); <-, sondern mit -> while(!cin.eof()); <- die Schleife verlassen möchte und ich mehr Eingaben gemacht habe, wie ich zu Anfang eingeben soll, wird dann trotzdem mehr Speicherplatz geschaffen?? Da ich mir ja per Strg+Z den Abbruch selbst vorgeben kann  Danke 
 Timi
 
- 
					
					
					
					
 Dadurch, dass die Anzahl der Durchläufe schon vorher bekannt sind, würde ich einer for Schleife den vorzug geben. Das Strg-Z würde ich eher als außerordentliches Abbruchkriterium bezeichnen. Es wird auf jeden Fall Speicher für zahl lgs reserviert in der Zeile adresse = new lg[zahl];Egal, wieviele Durchläufe du unten machst. 
 
- 
					
					
					
					
 PS: Vielleicht wäre ein vector das richtige für dich. 
 Dort kannst mit jeden Durchlauf ein lg mehr drauflegen/reinpacken.
 
- 
					
					
					
					
 Ok, danke Das mit dem Vektor weiss ich leider nicht wie du das meinst, bzw. hab isch davon noch keinen Plan. Bin leider noch nicht der große C++ Checker  gruss 
 Timi