Problem z Do While
Ostatnio zmodyfikowano 2012-08-10 08:17
comlaterbok Temat założony przez niniejszego użytkownika |
Problem z Do While » 2012-08-09 21:55:16 Cześć. Tutaj mam kawałek kodu gdzie zastosowałem do while. Zasada jest prosta. Program ma pobrać komendę i jeżeli nie będzie to Start to ma cały czas mrugać Błąd. Niestety nawet jak wpiszę "Start" to nadal wyświetla mi "Błąd". Proszę o pomoc.
do { cin >> komenda; system( "cls" ); pulpit(); red(); for( int g = 0; g <= 3; g++ ) { string txt = "BLAD!"; cout << txt; Sleep( 400 ); for( int a = 0; a < txt.size(); a++ ) cout << "\b \b"; Sleep( 400 ); } white(); } while( komenda != "START" || komenda != "Start" || komenda != "start" );
system( "cls" ); pulpit2(); getch();
|
|
DejaVu |
» 2012-08-09 22:02:15 1. wczytaj wartość
2. sprawdź czy poprawna (jeżeli nie to komunikat)
3. sprawdź czy wyjść z pętli - jak nie to wróć do pkt 1. |
|
Mufas |
» 2012-08-09 22:31:18 while( komenda != "START" || komenda != "Start" || komenda != "start" );
a co jak ktos napisze sTARt?? nie lepiej to skorzystac z funkcji toupper() lub tolower()?? |
|
ison |
» 2012-08-09 23:36:03 while( komenda != "START" || komenda != "Start" || komenda != "start" );
ten warunek to zawsze prawda, zapewne chodziło Ci o && |
|
kubawal |
» 2012-08-10 08:17:03 Komenda nie może mieć trzech wartości naraz, więc któryś z warunków cały czas jest spełniony. Daj #include <ctype.h> void string_tolower( string & str ) { for( int i = 0; i <= str.size(); i++ ) str[ i ] = tolower( str[ i ] ); }
i do { string_tolower( komenda ); } while( komenda != start );
|
|
« 1 » |