Wie nimmt man die Eingabe als String und identifiziert jedes Zeichen als char, int oder float in C++?Wie nimmt man die Eingabe als String und identifiziert jedes Zeichen als char, int oder float?
Beispiel: Wenn ich möchte, dass ein Benutzer ein einfaches 3+2 = statement
eingibt, dann möchte ich, dass das Programm entscheidet, ob ich subtrahiere oder irgendwelche anderen arithmetischen Operationen addiere und dann die entsprechende Antwort entsprechend ausgäbe.
Sie könnten jedes Zeichen in Ihrer Zeichenfolge durchlaufen und identifizieren, wo die Operation ist (in diesem Fall +). Sobald Sie die Position der Operation kennen, nehmen Sie jedes Zeichen vom Anfang der Zeichenfolge bis zur Operation als ersten Operanden und jedes Zeichen von der Operation bis zum Ende der Zeichenfolge als zweiten Operanden. Sie können 'atof' verwenden, um die Strings in Doubles umzuwandeln, und dann die Operanden mathematisch berechnen. Verwenden Sie eine 'if'-Anweisung, um das Operation-Zeichen zu identifizieren und die entsprechende Operation auszuführen. – Swemoph
Es geht um Tokenizing. Google wäre eine große Hilfe –
Sie könnten dies mit Boost Spirit tun, werfen Sie einen Blick auf das Beispiel zur Verfügung gestellt: https://github.com/djowel/spirit_x3/blob/master/example/x3/calc5.cpp – Roby