Стандартный числовой ввод с помощью команды if else в c - PullRequest
0 голосов
/ 28 ноября 2010

как заставить пользователя просто вводить число, когда программа спрашивает о вводе, или просто как применить числовой ввод к записи, кто-нибудь может мне помочь.

в качестве примера:

#include "stdio.h"
#include "conio.h"
  void main()
     {
        int x;
        printf("Enter a numeric value:");
        scanf("%d",&x);

        if(..........)    // here i supose to write the if statement  
}

Ответы [ 6 ]

2 голосов
/ 28 ноября 2010

scanf возвращает количество параметров, успешно обработанных, поэтому вам нужно сохранить его возвращаемое значение и проверить его.

Следовательно, вместо этого вы можете сделать if (scanf("%d", &x)) { ... } else {... }, так как scanf вернет либо 0 (целое число не найдено), либо 1 (если целое число было найдено)

EDIT

if (scanf("%d", &x)) {
    /* an integer was read into x, so what do you want to do here? */
} else {
    /* what the user typed was not an integer, so normally you want to write some error message or something */
}
0 голосов
/ 28 ноября 2010

Если вы хотите, чтобы ввод пользователя удовлетворял определенному условию, вы можете сделать что-то вроде этого:

#include <stdio.h>

int main()
{
    int x;
    printf("Enter a numeric value:");

    scanf("%d", &x);

    //suppose you want the user to enter values b/w 0 and 999
    while ((x < 0) || (x >= 1000)) {
        scanf("%d", &x);
    }
}

Помните, void main и conio.h не соответствуют стандарту.

0 голосов
/ 28 ноября 2010
0 голосов
/ 28 ноября 2010

Кроме того, рассмотрите возможность ввода данных в бесконечном цикле while и прерывания, когда пользователь вводит правильный ввод.

0 голосов
/ 28 ноября 2010

Советую проверить здесь: http://www.tek -tips.com / viewthread.cfm? Qid = 1024751 & page = 10

Интересно, что это также первый результат в Google.

Кроме того, прекратите использование void main ().Это ограничивает.

0 голосов
/ 28 ноября 2010

Вы должны получить всю строку, введенную пользователем, а затем использовать isdigit () (определено в ctype.h), чтобы проверить каждого персонажа, чтобы узнать, является ли это число.

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