000
18.06.2004, 23:06 Uhr
songbird
|
Wir wollen ein Objekt zur Laufzeit anlegen, die Attributinhalte sollen durch den Benutzer eingegeben. Das Objekt soll dann an der ersten leeren Stelle in einem Array abgespeichert werden und einmal ausgegeben werden. Das alles soll nicht dauerhaft, sondern nur zur Laufzeit gespeichert werden.
C++: |
Dvd films[50];
char newTitle[] = ""; char newRegi[] = ""; char newGenre[] = ""; int newId = 0; int newLength = 0; char newDate[] = "";
void newFilm() { bool valid = false; int checkpos = 0; Dvd* dvd6; cout << "Anlegen neuer DVD's" << endl << endl << "Geben Sie den Namen des Films ein !" << endl; cin.getline(newTitle,50); cin.ignore(100, '\n'); cin.clear(); cout << endl << "Geben Sie den Regisseur an !" << endl; cin.getline(newRegi,50); cout << endl << "Geben Sie das Genre an !" << endl; cin.getline(newGenre,50); do { valid = true; cout << endl << "Geben Sie die Film-ID an !" << endl; cin >> newId; for (int i = 0; i < 50; i++) { if(films[i].getId() == newId) { valid = false; cout << "Die ID ist bereits vorhanden !" << endl; } } } while (valid == false); cout << endl << "Geben Sie die Länge des Films an !" << endl; cin >> newLength; cout << endl << "Geben Sie das heutige Datum ein !" << endl; cin.getline(newDate, 15); cin.ignore(100, '\n'); cin.clear(); dvd6 = new Dvd( newTitle, newRegi, newGenre, newId, newLength, newDate); for (int j = 0; j < 50; j++) { if(films[j].getTitle() == "unknown") { films[j] = *dvd6; checkpos = j; j = 50; } } cout << "Sie haben folgenden Film gerade neu angelegt: " << endl << "Filmtitel: " << films[checkpos].getTitle() << endl << "Regisseur: " << films[checkpos].getRegi() << endl << "Genre: " << films[checkpos].getGenre() << endl; }
|
also wir bekommen keine Fehlermeldung, aber wenn wir den angelegten Film ausgeben wollen, bekommen wir nicht die eingegebenen strings/ints...
Was machen wir falsch??? |