SoltanDemoriel
Mitglied
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
und hier ist die "Prozedur"
Und hier die Methoden
bitte um hilfe muss das für ne Klausur wissen ;(
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:
set <Daten> daten1set;
//Classe Daten
Daten Datenliste1;
set <Daten> tempset;
Daten templiste;
int tempid;
Code:
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
Code:
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);
}
Zuletzt bearbeitet: