string w warunku
Ostatnio zmodyfikowano 2018-03-11 00:54
dott94 Temat założony przez niniejszego użytkownika |
string w warunku » 2018-03-11 00:17:37 Po długiej przerwie wróciłem do programowania (oczywiście poziom podstawowy), kumpel miał parę pytań i w sumie próbuję coś zrobić i nie potrafię mu pomóc, zerknijcie na kod: void opis() { string komenda; bool k1; k1 = false; cout << "KALKULATOR" << endl; cout << "Witam w wielofunkcyjnym kalkulatorze, w ktorym policzysz kilka roznych rodzajow opreacji matematycznych." << endl; cout << "Aby kontynuowac wpisz 'dalej' "; cin >> komenda; while( k1 == true ) { if( komenda == "dalej" ) k1 = true; else cout << "zla komenda, sprobuj ponownie!" << endl; } system( "cls" ); }
ogólnie w mainie program najpierw wywołuje funkcję opis, a następnie przechodzi (a przynajmniej powinien) do funkcji menu. no i tu jest pies pogrzebany - niezależnie od tego co wpiszesz, program przechodzi do menu ... coś pokręciłem w tych stringach? z góry dzięki za odpowiedź ;) |
|
pekfos |
» 2018-03-11 00:29:55 Wstępna wartość k1 nie spełnia warunku pętli. |
|
dott94 Temat założony przez niniejszego użytkownika |
» 2018-03-11 00:33:38 czyli jeśli dobrze zrozumiałem, nie deklaruję wartości k1 na początku, tylko robię coś takiego: while( k1 == true ) { if( komenda == "dalej" ) k1 = true; else { k1 = false; cout << "zla komenda, sprobuj ponownie!" << endl; } } system( "cls" );
dobrze rozumiem? ;) Ogólnie to można by to zrobić na tablicy char'ów, ale wtedy program nie będzie idioto-odporny. ;p |
|
pekfos |
» 2018-03-11 00:35:49 bool k1; k1 = false;
while( k1 == true )
|
|
dott94 Temat założony przez niniejszego użytkownika |
» 2018-03-11 00:36:39 nadal nie działa, czyli źle rozumuję ;)
może zamiast bawić się w "ambitne" programowanie, po prostu zrobię "system("pause")" , bez zabaw w stringi ;p |
|
pekfos |
» 2018-03-11 00:38:12 Podałem fragment twojego kodu, więc nie powinno działać. Cały twój problem jest zawarty w tym fragmencie. |
|
dott94 Temat założony przez niniejszego użytkownika |
» 2018-03-11 00:44:34 ok, czaję że błąd leży w deklaracji wartości k1 przed pętlą. while( k1 == true ) { if( komenda == "dalej" ) k1 = true; else { k1 = false; cout << "zla komenda, sprobuj ponownie!" << endl; } } system( "cls" );
ale jak to wrzucam w pętlę (tak jak na górze) to nadal nie działa, jakaś kolejna podpowiedź? ;) serio, C++ ostatni raz ruszałem ponad rok temu i to raczej były "podstawowe" zabawy ;p |
|
pekfos |
» 2018-03-11 00:53:25 A może byś tak przeanalizował co twój kod robi..? Ustawianie wartości i sprawdzanie warunków powinno być intuicyjne, niezależnie od długości przerwy od programowania. |
|
« 1 » 2 |