Objekte in map ausgaben

Manuela25

Grünschnabel
#include <iostream>
#include <map>
#include <string>


using namespace std;

void einfuegen();
void einfuegenmap();
void ausgeben();




struct daten
{
string wert1;
string wert2;
string wert3;

friend ostream& operator<<(ostream& output, const daten& S);
};


typedef map<string,daten> m_map;
//map<string,daten>::iterator it= m_map.begin();
m_map the_map;

int main()
{



char auswahl;
while (auswahl != '0')
{
cout << "<1> Notenliste ausgeben" << endl;
cout << "<0> Ende" << endl;
cout<<"#######################################################\n";
cout<<"Bitte geben Sie die Funktion ein: ";
cin>>auswahl;
switch (auswahl)
{
case '1':
einfuegenmap();
ausgeben();

break;
case '0':
break;
default:cout << "Falsche Eingabe" << endl;
break;
}
}

return 0;
}





void ausgeben()
{
m_map::const_iterator it;

for(it = the_map.begin(); it!=the_map.end();it++)
{

cout<<*it;

}
};

void einfuegenmap()
{

daten d;
string m;
string n;
string s;


cout<<"Bitte geben Sie die Martikelnummer ein: ";
cin>>m;
cout<<"\nBitte geben Sie den Namen ein: ";
cin>>n;
cout<<"Note";
cin>>s;


d.wert1=m;
d.wert2=n;
d.wert3=s;

the_map[m] = d;
};


ostream &operator<<(ostream& output, const daten& S)

{ //output<<" "<<endl;
output<<S.wert1<<" "<<S.wert2<<" "<<S.wert3<<endl;
return output;
};


Habe Problem bei der Ausgabe! Besser gesagt mit meineim ITERATOR

Problemstellung: Wie krieg ich meine ganzen Studenten aus der map heraus?
 
Mit it->first kommst du an den Key, und mit it->second an den Studenten (data),
siehe auch das Beispiel in deinem anderen Thread:

const daten& MeinStudent = it->second;
 
Zurück