Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
// C++ für Spieleprogrammierer // Listing 9.8 // Maps mit der STL // #include <iostream> #include <map> #include <string> using namespace std; // Hauptprogramm // int main () { // Variablen // map<string, int> Punktetabelle; // Map map<string, int>::iterator i; // Iterator für die Map pair<string, int> Spieler; // Paar-Objekt für die Map // Anlegen von Spielerdaten (Map mit Daten füllen) // cout << "Spielerdaten werden angelegt\n\n"; // Paare mit der Funktion "make_pair" erzeugen // und in die Map schieben Spieler = make_pair ("Tobi", 2500); Punktetabelle.insert (Spieler); Spieler = make_pair ("Peter", 43800); Punktetabelle.insert (Spieler); Spieler = make_pair ("Maria", 26500); Punktetabelle.insert (Spieler); Spieler = make_pair ("Nina", 22350); Punktetabelle.insert (Spieler); Spieler = make_pair ("Andi", 21080); Punktetabelle.insert (Spieler); // Paar "manuell" erzeugen und in die Map schieben Spieler.first = "Marc"; Spieler.second = 18400; Punktetabelle.insert (Spieler); // Suche nach Spieler "Peter" cout << "Suche nach Spieler \"Peter\"\n\n"; i = Punktetabelle.find ("Peter"); // Prüfen, ob ein entsprechender Eintrag gefunden wurde if (i != Punktetabelle.end() ) { // Ja, dann Spielerdaten ausgeben cout << "Spieler \"Peter\" wurde gefunden." << endl; cout << "Er hat " << i->second << " Punkte erreicht"; cout << "\n\n"; } else { // Nein, dann Fehlermeldung ausgeben cout << "Spieler \"Peter\" wurde nicht gefunden"; cout << endl; } // Anzahl der eingetragenen Spieler ausgeben sowie // deren Namen und erreichte Punkte cout << "Auflistung aller Spieler in der Tabelle:\n"; cout << "(Insgesamt " << static_cast<int> (Punktetabelle.size () ); cout << " Eintraege)" << "\n\n"; for (i= Punktetabelle.begin(); i!= Punktetabelle.end(); ++i) { cout << "Spieler " << i->first << " hat "; cout << i->second << " Punkte erreicht"; cout << "\n\n"; } // Einen Eintrag direkt ansprechen, indem die Map wie ein // Array verwendet wird cout << "Eintrag direkt ausgeben: " << endl; cout << "Spieler \"Nina\" hat "; cout << Punktetabelle["Nina"]; cout << " Punkte erreicht" << endl; return 0; } |
Zitat von »"Fred"«
kann es daran liegen, dass du nur <iostream> schreibst statt <iostream.h>. Bei manchen älteren Kompilern kann das glaube ich zu Problemen führen.
C-/C++-Quelltext |
|
1 |
#include <iostream.h> |
Werbeanzeige