Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z Do While

Ostatnio zmodyfikowano 2012-08-10 08:17
Autor Wiadomość
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.
C/C++
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();

P-62146
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.
P-62148
Mufas
» 2012-08-09 22:31:18
C/C++
while( komenda != "START" || komenda != "Start" || komenda != "start" );

a co jak ktos napisze sTARt??
nie lepiej to skorzystac z funkcji toupper() lub tolower()??
P-62153
ison
» 2012-08-09 23:36:03
C/C++
while( komenda != "START" || komenda != "Start" || komenda != "start" );

ten warunek to zawsze prawda, zapewne chodziło Ci o &&
P-62156
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
C/C++
#include <ctype.h>
void string_tolower( string & str )
{
    for( int i = 0; i <= str.size(); i++ )
         str[ i ] = tolower( str[ i ] );
   
}
i
C/C++
do
{
    //...
    string_tolower( komenda );
}
while( komenda != start );

P-62159
« 1 »
  Strona 1 z 1