Not sure what I am doing wrong, but 1-99 work with this code but not 0 or 100. However if I change to while (a>=0||a<=100) nothing works. I need to have 0 and 100 be inclusive.
1 2 3 4 5 6 7 8 9 10 11 12
int main()
{
int a;
while (a <= 0 || a >= 100)
{
cout<<"Enter your test score."<<endl;
cin>>a;
}
return 0;
}
hmm... no 1-99 does not work with the code you've provided.
1. You're using the wrong loop. You want a do-while loop.
2. As the code is now. you're telling it to run the loop as long as "a" is less or equal to 0 or a is 100 or more. Meaning literally any number other than 1-99.
You want to say. While a is bigger than or equal to 0 AND less than or equal to 100.
1 2 3 4 5 6 7 8
int a;
do
{
cout << "Enter your test score." << endl;
cin >> a;
} while (a >= 0 && a <= 100);
Yes. It will keep prompting if the condition is met, as soon as you input a number that does not meet the condition a>=0&&a<=100 (which is btw the condition you want) then it will exit the loop.
If you're still using a while-loop that might be the problem, because you're not initializing int a;
So if you're using a while-loop still. do int a = 0; But I would advice a do-while loop like I showed you.
If non of it is working and you are still having the problem, please post the entire code.
Thanks the program requires both a while loop and a do while loop doing the same thing. For some reason I thought the condition would end the statement not the other way around. I wrote it at while (a<0||a>100)