Ganze Wörter als Variablen deklariert
-
Hallo erstmal;) Ich bin ein C++ Anfänger und wollte ein relativ einfaches Pädagogik Wörterbuch erstellen. Einfach nur die Wörter, die man eingibt und dann die entsprechende Definition erscheint. Meine Frage wäre, wie man ganze Wörter als Variablen deklariert im Code nutzt. Ich sitze schon eine ganze Zeit vor meinem C++ Lehrbuch und finde keine entsprechende Anleitung/ Erklärung. Die einzige Erwähnung von Wörtern als Variablen war in einer Liste aller Variablen, wo der Variablentyp "char string" erwähnt ist, jedoch wird in allen Beispielen immer nur der Variablentyp "int" verwendet. Auch habe ich nur den Steuerbefehl "case" gefunden, keinen entsprechenen Befehl, in den man auch Wörter einfügen kann....
Ich hoffe ihr könnt mir weiterhelfen, bevor ich über meinem Buch verzweifle...
Vielen Dank im Vorraus!
Ichmagkekse
-
Es gibt die Klasse
std::string, die Zeichenketten aufnehmen kann. Wenn sie in deinem Buch nicht erwähnt wird ist es alt, schlecht oder beides und du solltest dich nach einem aktuellen Buch umsehen. Vorschläge gibt´s in der FAQ.
Für die Relationstd::string=>std::stringgibt es den Containerstd::map, der Schlüssel/Wertepaare enthält. Diese Zuordnung ist allerdings eindeutig, d.h. du kannst unter einem Schlüsselwort und einen anderen Text ablegen. Wenn du zu einem Schlüsselwort mehrere Texte hinterlegen möchtest brauchst dustd::multimap.
Weitere Hilfe findest du hier.
-
In jedem einigermaßen vernünftigen C++ Anfängerbuch sind ähnliche Beispiele.
Vielleicht nicht alles in einem Beispiel, aber ein großteil der Programmierarbeit ist ja einmal gelernte Muster auf beliebige Probleme anzuwenden.Ich weiß nicht wie weit du in Deinem Buch bist, aber folgendes solltest Du schon wissen um Deine Aufgabe zu lösen:
Ein-/ Ausgabe von/auf die Konsole.
Ein-/Ausgabe in eine Datei.
Datentyp für Zeichenketten std::string und dessen Methoden
Schleifen: for, while
Verzweigungen: if ...else...
Container std::vector, std::map, ... um Deine Eingaben oder eingelesenen Daten im Speicher zu halten.