2015-10-18 6 views
-2

У меня есть относительно простая программа, которая запрашивает ввод пользователя между диапазоном и затем проверяет его с помощью цикла Do-while.Использование Do While in C [Find Mistake]

int n; 
do 
{ 
print ("hello, world\n"); 
n = getvalue() //just making this syntax up.It takes value from user 
} 
while (n<0 && n>99); 
print ("%d\n",n); 

Я хочу предложить пользователю ввести другое значение, если он/она поступает либо отрицательное число или тройную значное число (или выше). Но условие внутри while не проверяется.

Что выход выглядит так:

Независимо от того, какой номер я вхожу, он получить печатные. то есть -2 печатается как -2, 101 как 101 и 50 как 50. В идеале -2 должно побуждать пользователя вводить число снова, поэтому 101 и только 50 должны распечатываться.

+1

Вы понимаете, что это бесконечный цикл, верно? –

+1

Где вы назначаете значение n? – Marged

+0

Опубликовать более подробную информацию о коде ... – wrangler

ответ

1

Я думаю, что проблема заключается в вашем довольно загадочном состоянии n < 0 && n > 99, что не может быть разумно удовлетворено.

Вам нужно более внимательно изучить логику вашей петли. Если вы хотите снова запросить пользователя, если они вводят число меньше нуля или больше 99, вам необходимо использовать логический оператор или||.

while (n < 0 || n > 99);