Как получить целое число ввода от пользователя c - PullRequest
0 голосов
/ 02 марта 2012

Я хочу получить значения матрицы, строки и столбцы из пользовательского ввода.Поэтому я реализую do while, чтобы сделать это: Это только для строк:

do {
        printf ("Inserisci il numero di righe ( intero-positivo-diverso da 0): ");
        scanf ("%d",&righe);
    } while (righe<=0);

Я хочу проверить, что пользователь вставляет только целые числа.что я могу сделать?

Ответы [ 4 ]

2 голосов
/ 02 марта 2012

scanf возвращает целое число, указывающее, сколько «вещей» было успешно прочитано. Вы можете проверить это в условии, чтобы увидеть, если он получил то, что вы искали. Пример:

const int result = scanf ("%d",&righe);
if (1 != result) {
  /* didn't get the 1 input we were looking for, do something about it! */
}

Вы хотите различать EOF и просто не целое число.

1 голос
/ 02 марта 2012

Проверьте возвращаемое значение scanf(), оно должно возвращать количество преобразованных строк, если оно равно! = 1, вход не может быть преобразован в целое число.

Ссылка: scanf

0 голосов
/ 07 марта 2012

Ваш код правильный.это правильный способ делать то, что вы хотите ...

0 голосов
/ 02 марта 2012

Вы ищете это ctype.h

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...