Hallo,
ich bin noch C++-Anfänger und lerne gerade aus dem Buch "C++-Primer". Die Aufgaben da sind aber recht langweilig, weshalb ich probiere mir einen eigenen Taschenrechner zu programmieren. Nun scheitere ich aber daran eine Eingabe wie z.B. "1+1+1" nach Zahlen bzw. Operatoren zu sortieren, das heißt alle Zahlen sollen in einen Vektor "nums" und alle Operatoren in den Vektor "ops". Zum Testen lasse ich sie am Ende ausgeben. So sieht es bis jetzt aus:
Nun gibt das Programm schön alle Zahlen, aber leider nicht die Operatoren, also in dem Fall die beiden Plus-Zeichen, aus.
Vielen Dank schonmal!
ich bin noch C++-Anfänger und lerne gerade aus dem Buch "C++-Primer". Die Aufgaben da sind aber recht langweilig, weshalb ich probiere mir einen eigenen Taschenrechner zu programmieren. Nun scheitere ich aber daran eine Eingabe wie z.B. "1+1+1" nach Zahlen bzw. Operatoren zu sortieren, das heißt alle Zahlen sollen in einen Vektor "nums" und alle Operatoren in den Vektor "ops". Zum Testen lasse ich sie am Ende ausgeben. So sieht es bis jetzt aus:
C++:
#include <iostream>
#include <vector>
#include <cctype>
using namespace std;
const unsigned short &succ(0);
double num;
char op;
vector<double> nums;
vector<char> ops;
int main() {
while (cin) {
if (cin >> num)
nums.push_back(num);
else if (cin >> op)
ops.push_back(op);
}
for (vector<double>::iterator i(nums.begin()); i != nums.end(); ++i )
cout << endl << *i;
for (vector<char>::iterator i(ops.begin()); i != ops.end(); ++i)
cout << endl << *i;
return succ;
}
Vielen Dank schonmal!
Zuletzt bearbeitet: