ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
330
330
EMPFEHLEN
-
17.10.05 23:40 #1
- Registriert seit
- Jun 2004
- Beiträge
- 21
Hallo zusammen ich habe folgendes Problem:
Ich hole mir eine id die ich dan vergleiche mit allen ids in einer liste, wenn ich die richtige id gefunden habe , hole ich mir die dazugehörigen andern werte.
So nun will ich diese daten in einer neuen liste speichern :
Allerdings wird hier nie ein neues Element gespeichert sondern immer das 1 überschrieben hab leider ka warum ;(
Deklarationen
Code :1 2 3 4 5 6 7
set <Daten> daten1set; //Classe Daten Daten Datenliste1; set <Daten> tempset; Daten templiste; int tempid;
und hier ist die "Prozedur"Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
do { int vergleich; float verpreis; string vername; cout << "Geben Sie die Artikelnummer ein: "; cin >> tempid; if(tempid <= 0) break; for(set<Daten>::iterator x=daten1set.begin();x !=daten1set.end();x++) { if (tempid==x->Get1()) { vergleich=x->Get1(); verpreis=x->Get3(); vername=x->Get2(); } } templiste.Set(vergleich,vername,verpreis); Daten *bla = new Daten(templiste); tempset.insert(*bla);break; } while( tempid != 0 );
Und hier die Methoden
bitte um hilfe muss das für ne Klausur wissen ;(Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
void Daten::Set(int x_id,string x_name,float x_preis) { id=x_id; name=x_name; preis=x_preis; } int Daten::Get1()const { return(this->id); } string Daten::Get2()const { return(this->name); } float Daten::Get3()const { return(this->preis); }Geändert von SoltanDemoriel (17.10.05 um 23:42 Uhr)
-
17.10.05 23:47 #2
- Registriert seit
- Jan 2002
- Ort
- Bayern
- Beiträge
- 1.390
Hi,
fehlt da noch ein Teil vom Code?
ich sehe nirgens die Stelle wo du "daten1set" mit Daten auffüllst.
Danielwe would change the world if god gave us the source code...
and remember, science is nothing more than reverse engineering nature...
Current projects:
- LdrawConverter
-
18.10.05 15:02 #3
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
Hi.
Am besten du postest mal den kompletten Code der Daten Klasse.
Um Elemente in einem Set zu speichern benötigt man eine Ordung für diese Elemente, man muß sie also vergleichen können. Wo hast du das denn definiert?
Dann prüfst du nicht ob überhaupt eine id nach tempid eingelesen werden konnte.
Außerdem ist nicht klar ob du bei deiner Suche überhaupt was gefunden hast, du verwendest aber einfach die Werte die in vergleich, vername und verpreis drin stehen. Weiter braucht man logischerweise nicht weitersuchen wenn man den richtigen Eintrag gefunden hat.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
cout << "Geben Sie die Artikelnummer ein: "; if (cin >> tempid) { // tempid wurde eingelesen. if(tempid <= 0) break; } else { // tempid konnte nicht eingelesen werden // z.B. Formatfehler (kein int) etc. break; } bool found = false; for(set<Daten>::iterator x=daten1set.begin();x !=daten1set.end();x++) { if (tempid==x->Get1()) { vergleich=x->Get1(); verpreis=x->Get3(); vername=x->Get2(); found = true; break; // wenn gefunden, stopp. } } if (found) { templiste.Set(vergleich,vername,verpreis); tempset.insert (templiste); // Das ist ein Speicherleck!! /* Daten *bla = new Daten(templiste); tempset.insert(*bla); */ } else { cerr << "Fehler: id " << tempid << " nicht gefunden.\n"; } } while( tempid != 0 ); // doppelt gemoppelt. // ---------------------- int Daten::Get1()const { // über "this->id" zuzugreifen ist unnötig. return id; } string Daten::Get2()const { return name; } float Daten::Get3()const { return preis; }If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
18.10.05 20:11 #4
- Registriert seit
- Jun 2004
- Beiträge
- 21
ahhh danke es klapt *freu*, und ich verstehs sogar
ich danke echt tausend mal !!
Ähnliche Themen
-
Elemente eines Containers auslesen
Von Templorials im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 09.07.08, 13:42 -
Position eines DIV-Containers mit JS auslesen und an PHP weitergeben
Von lp-chester im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 22.06.07, 23:47 -
Spaltenlayout innerhalb eines Containers
Von anno_1976 im Forum CSSAntworten: 13Letzter Beitrag: 09.10.05, 16:25 -
Höhe eines div-Containers im IE
Von dschue im Forum CSSAntworten: 5Letzter Beitrag: 15.04.04, 12:21 -
Ausrichtung eines Containers
Von webberNRW im Forum CSSAntworten: 8Letzter Beitrag: 15.03.04, 01:31





Zitieren
Login






