C++ Variable nach variable benennen

...komplette Frage anzeigen

3 Antworten

Das geht nicht, weil Variablennamen beim Kompilieren verwendet werden und im fertigen Programm gar nicht mehr enthalten sind, weshalb alle Namen beim Kompilieren bekannt sein müssen. Du kannst höchstens eine Hashtabelle verwenden, etwa std::map. Ein kleines Beispiel:

#include <map>
#include <string>

...

std::map<std::string, int> m;
m["variablenname"] = 42;

std::map fungiert hier als sog. assoziatives Array. Wenn man so will, heißt jetzt eine Variable in der Hashtabelle "variablenname" und hat den Wert 42. Näher kommst du an dein Vorhaben wohl nicht heran.

Das geht zwar nicht, aber bestimmt erreicht man das Ziel auch anders. Schrib am besten mal, was du damit machen willst ;)

wenn ich jetzt das alter eines Kindes raten will und dann immer zufällige zahlen sagen von 0 bis 18 und dann nicht immer neue variablen definieren (int v1; int v2) sondern (int%versuche) oder einfach wenn jetzt kommt:

Bist du 15?j/n

und dann ein nein kommt es so zugeordnet wird dass es nicht mehr vorkommt dass nach 15 gefragt wird also entweder einer variable mehrere werte zuordnen oder eine menge erstellen oder so wie oben dass ich halt nicht V1 bis V18 (das alter dass in den versuchen drankam) generiere und wenn ich es dann beim ersten mal schon habe 17 unnötige variablen habe sondern bei 15 versuchen 15 variablen und bei 2 Versuchen 2 variablen oder kann man es so machen dass ich die zahl 15 und folgende einer Variable wie: int FalschesAlter zuordne?

0
@Maxs12

du willst also zahlen raten und jede nur einmal. könntest einen bool Vektor machen:

bool geraten_flag[19]; (alle auf false setzen)

wenn eine zahl geraten wird, setzt du geraten_flag[zahl] auf true

PS: am besten erstmal nach der umgangsweist mit arrays suchen :)

0

Das geht nicht. Aber vielleicht helfen dir Arrays weiter?

Was möchtest Du wissen?