Danke an Berlin1992, seltsamer weis hab ich das mit dem extern schonmal probiert aber es hat nicht funktioniert, nach zwei tagen mach ich den selben versuch und siehe da es hat funktioniert.
Jetzt hätte ich aber noch eine andere frage:
Und zwar hab ich ja den Container in dem "Medien Angelegt werden mit einer Signatur (Zahlen) und einem Namen.
Wenn versucht wird ein neues Medium anzulegen mit einer Signatur die es schon gibt soll ein Fehler ausgegeben werden und dieses Neue medium nicht in der liste aufgeführt werden bzw. soft gelöscht werden.
Mittlerweile hab ich es soweit dass erkannt wird dass bereits ein Medium mit der gleichen Signatur existiert und den Fehler ausgibt, jedoch ist dann in der Liste/container eine leere stelle und als signatur steht dort ein zufälliger zahlen wert.
Was muss ich tun um zum oben beschriebenen Ergebnis zu kommen?
Hier mal der Konstruktor mit dem wesentlichen:
Code:
....
Media::Media(){
cin.clear();
cin.ignore( numeric_limits<streamsize>::max(), '\n' );
cout << "Bitte Mediumdaten eingeben: Signatur und Titel\n\n";
cout << "Signatur: ";
while (!(cin >> signatur) && (cin.fail()) ){
cin.clear();
cin.ignore( numeric_limits<streamsize>::max(), '\n' );
cout << "Bitte Mediumdaten eingeben: Signatur und Titel\n\n";
cout << "Signatur: ";
cout << endl;
}
for (container.begin(); container.getitem() != NULL; container.next()){
if(container.getitem()->get_signatur() == signatur){
Media* k_tmp = container.getitem();
delete k_tmp;
cout << "Es existiert bereits ein Medium mit dieser Signatur \n" << endl;
return;
}
cout << endl;
}
cout << "Titel: ";
cin.ignore( numeric_limits<streamsize>::max(), '\n' );
getline(cin, titel );
cout << endl;
};
....