Witam. Zwracam się z prośbą o pomoc lub wskazówkę z następującym zadaniem.
Wczytaj za pomocą standardowego strumienia wejściowego pary dzień tygodnia - liczba. Na przykład:
Wtorek 23 Piątek 56 Wtorek -3 Czwartek 99. Wartości każdego dnia zapisz w osobnym wektorze vector<int>. Wydrukuj wartości z wszystkich siedmiu wektorów. Wydrukuj sumę wartości wszystkich wektorów. Odrzuć niepoprawne nazwy dni tygodnia, typu Piontek, ale przyjmij różne poprawne formy jak piątek cz skrót pią.
Doszedłem do momentu że program prawie gotowy jednak mam problem z wyjściem z pętli while i porównaniem w niej wartości. Po prostu program po wpisaniu znaku wyjściowego ,,|" nadal zostaje w pętli while lub zasypuje ekran tekstem który jest wpisany na początku pętli. Proszę o rade. Pozdrawiam.
#include "std_lib_facilities.h"
using namespace std;
int main() {
system("chcp 1250");
vector<string> dzien;
vector<int> pn;
vector<int> wt;
vector<int> sr;
vector<int> cz;
vector<int> pt;
vector<int> sb;
vector<int> nd;
string a = "";
int b = 0;
while (true) {
cout << "Podaj dzien oraz liczbe: \n";
cin >> a >> b;
dzien.push_back(a);
if (a == "Poniedzialek" || "Pon")
pn.push_back(b);
else if (a == "Wtorek" || "Wto")
wt.push_back(b);
else if (a == "Sroda" || "Sro")
sr.push_back(b);
else if (a == "Czwartek" || "Czw")
cz.push_back(b);
else if (a == "Piatek" || "Pia")
pt.push_back(b);
else if (a == "Sobota" || "Sob")
sb.push_back(b);
else if (a == "Niedziela" || "Nie")
nd.push_back(b);
else
break;
}
int s = 0;
for (int i = 0; i < pn.size(); ++i) {
cout << pn[i] << " ";
s += pn[i];
}
for (int i = 0; i < wt.size(); ++i) {
cout << wt[i] << " ";
s += wt[i];
}
for (int i = 0; i < sr.size(); ++i) {
cout << sr[i] << " ";
s += sr[i];
}
for (int i = 0; i < cz.size(); ++i) {
cout << cz[i] << " ";
s += cz[i];
}
for (int i = 0; i < pt.size(); ++i) {
cout << pt[i] << " ";
s += pt[i];
}
for (int i = 0; i < sb.size(); ++i) {
cout << sb[i] << " ";
s += sb[i];
}
for (int i = 0; i < nd.size(); ++i) {
cout << nd[i] << " ";
s += nd[i];
}
cout << "Suma : " << s;
return 0;
}