• Почему заведомо неверно if?

    @kaka888
    C, C++, Qt, Python Flask, MySQL, Lua
    Ой хоспаде, что это такое :DD
    "#команда" - это команда (директива) препроцессора, и это совсем не та часть языка C++, которая помогла бы тебе сделать то, что ты пытаешься сделать.

    Правильно было бы вот так:
    if ((number > 1) && (number < 5))
    {
        printf("Вы ввели правильное число");
    }
    else
    {
        printf("Вы ввели неправильное число");
    }
    Ответ написан
    Комментировать
  • Почему заведомо неверно if?

    @dima20155
    you don't choose c++. It chooses you
    Потому что символы # перед if else не нужны. При такой записи эти инструкции будут рассматриваться как директивы препроцессора, которые тебе здесь не нужны. В вашем коде происходит проверка дефайнов (#define) предпроцессора. Поскольку вы не объявили что-то вроде:
    #define number 2
    то препроцессор отдает на компиляцию следующий код:
    int number, wrong;
    printf("Введите номер (1-5):\n");
    scanf("%d", &number);
    printf("Вы ввели неправильное число");
    printf("\n%d", wrong);
    return 0;


    То есть в момент исполнения программы просто нет никакого if. В общем, подтяните знание языка
    Вам нужно что-то такое:

    int main() {
        int number, wrong;
        printf("Введите номер (1-5):\n");
        scanf("%d", &number);
        if (number>1 && number<5) {
            printf("Вы ввели правильное число: %d", number);
        } else {
            printf("Вы ввели неправильное число: %d", number);
        }
        return 0;
    }
    Ответ написан
    1 комментарий