Mehrere Vectoren, Werte werden überschrieben
-
Hallo,
ich habe ein Programm, welches mehrere Vectoren befüllen und am Ende ausgeben soll.
Aufgrund von einer Eingabe soll bestimmt werden welcher der verschiedenen Vectoren befüllt wird.Mein Problem ist, dass bei der Ausgabe am Ende des Programms bei jedem Vector scheinbar die gleichen Werte hinterlegt sind. Es sieht fast so aus als wenn die Vectoren überschrieben werden.
Wie kann das sein? Ich habe bei meiner Ausgabe den jeweiligen Vector benannt?
vector<int>vMoValue; vector<int>vDiValue; while (day != "q") { cin >> day >> tempValue; if (day == "Montag" || "Mo") { vMoValue.push_back(tempValue); } if (day == "Dienstag" || "Di") { vDiValue.push_back(tempValue); } cout << endl << "Montag: "; for (int i = 0; i < vMoValue.size() - 1; i++) { //Wichtig: dekrement um 1, da der erste Vector die Position 0 hat cout << vMoValue[i] << " - "; } cout << endl << "Dienstag: "; for (int i = 0; i < vDiValue.size() - 1; i++) { //Wichtig: dekrement um 1, da der erste Vector die Position 0 hat cout << vDiValue[i] << " - "; }Weiß jemand was hier den Fehler hervorruft?
Besten Dank vorab!
-
(day == "Montag" || "Mo")So funktioniert das nicht so, wie du willst. Versuch mal:
(day == "Montag" || day == "Mo")Analog mit dem anderen.
-
Jo, vielen Dank!

Ich habe jetzt schon 2 Stunden Google gequält und dachte schon an die krassesten Möglichkeiten, was alles hätte falsch sein können
Naja das passiert mir nicht mehr^^