Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   simple while loop (http://www.go4expert.com/forums/simple-while-loop-t8588/)

free2rhyme2k 1Feb2008 14:32

simple while loop
 
Hi there

I am writing a simple while loop which terminates on the condition that a certain value is found, as follows


Code:

std::string question = q.quest().que();
            std::string answer = q.ans().answer();
            std::string graphic = q.inf().info();
            std::string english1;
            std::string english2;
            std::string arabic1;
            std::string arabic2;
         
           
            while((answer != english1) || (answer != english2)) {
                      random_shuffle(opt.begin(),opt.end());
                            english1 = opt[0].english();
                            arabic1 = opt[0].arabic();
                            english2 = opt[1].english();
                            arabic2 = opt[1].arabic();
            }


The program gets stuck in the while loop. I guess this is some sort of error in the while loops condition. If I take out the second condition and make it just based upon “English1”, then it works fine.

Any help?

Thanks in advance

asadullah.ansari 7Feb2008 13:57

Re: simple while loop
 
wrong logic!!!

logical_brain 7Feb2008 18:46

Re: simple while loop
 
Code:

while((answer != english1) || (answer != english2))
Think over this code.
let answer != english1 is X
and answer != english2 is Y

Code:

Possible combination
X  Y  Result
0  0    0
0  1    1
1  0    1
1  1    1

Only condition when while loop breaks is When Result is 0 Which is only possible when answer = english1 and answer = english2 (Think how it can be possible)

TRy to change you while loop test condition

Regards


All times are GMT +5.5. The time now is 22:18.