Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Variablen erstellen?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
21.01.2007, 16:42 Uhr
~ACDC
Gast


Hallo,
ich will eine Variable nach einem String den ein User eingegeben hat benennen, wie mache ich das am besten?

THX im Vorraus!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
21.01.2007, 16:54 Uhr
Pler
Einer von Vielen
(Operator)


Sowas macht man eigentlich nicht.
Schreib mal genau was du machen willst, dann können wir dir vielleicht weiterhelfen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
21.01.2007, 17:03 Uhr
~ACDC
Gast


Aso....

naja ich habe mir ein Buch über C++ gekauft (auch gelesen ), und da mir das mit dem objektorientierten Programmieren noch nicht so ganz klar ist, versuche ich einen miniatur Interpreter zu schreiben. Der soll nur einfache Rechenaufgaben lösen können, aber auch Variablen deklarieren können....und da lag das Problem.....
Denn der User des Programms soll den Variablennamen frei bestimmen können!

Hoffe irgendjemand kann mir helfen...will nicht schon am ersten Projekt scheitern
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
21.01.2007, 17:41 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Ich denke zum erstellen der Variablen solltest du am besten std::map<std::string, int> aus der STL benutzen. Wenn man beispielsweise schreibt:

Code:
foo=12;

dann liest du die Zeile ein und sicherst diese in der map

Code:
std::map<std::string, int> bar;
bar.insert(std::make_pair(key, value));


Und du kannst dann mit bar["foo"] auf die 12 als Wert zugreifen. Musst halt vorher an dem "=" spliten (find_first_of und substr aus std::string) und in int konvertieren (mit stringstream aus sstream oder atoi aus cstdlib).

Für die Erstellung der Variablen hast du jetzt eigentlich alles, was du brauchst ...


EDIT: wenn ich \[code\]bar["foo"]\[/code\] schreibe zerhaut mir der Syntaxparser aufs übelste die Formatierung ...
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

Dieser Post wurde am 21.01.2007 um 17:44 Uhr von J-jayz-Z editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
21.01.2007, 18:53 Uhr
~ACDC
Gast


Oh...das ist mir doch etwas zu sehr kompliziert bin noch ein totaler Anfänger....kann gerade mal das was in meinen Buch steht
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
22.01.2007, 08:54 Uhr
ao

(Operator)


OK, dann vergiss das erst mal wieder. Für das, was du willst, gibts keinen einfachen Weg.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
22.01.2007, 10:45 Uhr
mischa
Fragender


wenn du das oop üben willst könntest du dir ja eine klasse oder einen struct machen mit einer float variable und einem string drin und die klasse dan in eim std::vector stecken und wenn der benutzer will ein object dynamisch erstellen.
könnte klappen
--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
22.01.2007, 11:05 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Wenn er std::map nicht kennt, kennt er std::vector auch nicht - und mit std::vector müsste man "drum-rum coden". Für solche Anwendungsfälle gibt es std::map - schau es dir an. Es ist nicht wirklich schwer.
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
22.01.2007, 11:54 Uhr
mischa
Fragender


natürlich ist map dafür besser geeignet aber ich finde vector ist etwas einfacher zu benutzen als map.
ich bin auch über vector in die STL eingestiegen
--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
22.01.2007, 17:01 Uhr
Blubber2063



Wenn er noch Anfänger ist, sollte er einfach mal die Finger von nem Interpreter lassen. Ansonsten ist die Benutzung von einer Map eigentlich trivial, wenn man weiss das es nichts weiter als ein Assoziativer Container ist.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: