Member 14015940 Ответов: 1

Как я могу поставить в то время как условие, что мой viariable не должен быть персонажем


Привет;
У меня возникли некоторые небольшие проблемы с поиском способа поставить под мое условие while тот факт, что моя переменная, которая является "int", не должна быть символом, взятым из входных данных, запрошенных до моего цикла while.
В то время как цикл используется для проверки того, не соответствует ли переменная, записанная во входных данных, условиям, необходимым для алгоритма.

Что я уже пробовал:

вот пример кода:
#включить <stdio.h>

тап_п(){
int n;
scanf("%d", &n);
while(n<=-1 ){
printf("неверно. Напишите положительное целое число.");
scanf("%d", &n);
}


возвращает 0;
}

Это работает для чисел, но если во входных данных я пишу символ типа "g", он зацикливается, и я должен контролировать+c, блокируя его.

#realJSOP

Это не вопрос C#. Я изменил тег, чтобы он был правильно классифицирован.

1 Ответов

Рейтинг:
6

Richard MacCutchan

Вы пометили этот C#, но это явно C или C++.
Однако это довольно простая проблема, которую можно решить с помощью цикла:

int n;
while (scanf("%d", &n) == 0 || n < 0) // if no values captured, or the result is negative
{
    printf("Incorrect. Write a positive integer.");
    fseek(stdin,0,SEEK_END);
}


Member 14015940

Спасибо за ответ, я очень новичок.

С новым условием, если я все еще ставлю символ, это дает мне ту же проблему.


Неправильный. Напишите положительное целое число.Неправильный. Напишите положительное целое число.Неправильный. Напишите положительное целое число.Неправильный. Напишите положительное целое число.Неправильный. Напишите положительное целое число.Неправильный. Напишите положительное целое число.Неправильный. Напишите положительное целое число.Неправильный. Напишите положительное целое число.Неправильный. Напишите положительное целое число.Неправильный. Напишите положительное целое число.Неправильный. Напишите положительное целое число.Неправильный. Напишите положительное целое число.Неправильный. Напишите положительное целое число.Неправильный. Напишите положительное целое число.Неправильный. Напишите положительное целое число.Неправильный. Напишите положительное целое число.Неправильный. Напишите положительное целое число.Неправильный. "

Я не понимаю почему

Richard MacCutchan

Извините, я забыл очистить входной буфер после чтения Не-числа. Смотрите мое обновленное решение.

CPallini

5.