Почему мой * / 1000 l * не работает должным образом в C? - PullRequest
0 голосов
/ 13 апреля 2020
#include <cs50.h>
#include <stdio.h>

int main(void)
{
    int n = get_int("Please input a number between 1 and 8.\n");
    if( n >= 1 && n <= 8 )
    {
        printf( "Thank you for choosing within the boundaries. The number you entered was %i.\n", n );
    }

    do 
    {
        get_int( "Please enter a number that matches the critera.\n" );
    }
    while ( n > 8 || n < 1);
}

Я только начал, перечислив свой код сразу. Пожалуйста, go спокойно для меня, я новичок ie в этом и беру CS50 на edX, чтобы стать лучше. Когда я ввожу целое число, которое «соответствует критериям» (от 1 до 8 включительно), мой код работает так, как и предполагалось. Точно так же, когда я ввожу целое число, которое находится за этими границами, оно работает так, как должно. Однако после того, как prgram попросил меня ввести другое целое число, на этот раз, когда я ввел целое число в пределах границы, код не работает так, как должен. Вместо того, чтобы просто сказать «Спасибо за выбор в пределах границ. Введенное вами число было% i», оно говорит «Пожалуйста, введите число, соответствующее критерию», даже если я ввел что-то в пределах границ.

Надеюсь, вы, ребята, сможете помочь. Спасибо.

1 Ответ

1 голос
/ 13 апреля 2020

Я думаю, что в строке "do while" переменная n отсутствует до получения _..... Я не использую cs50.h, но это очень важно и c использование переменной также, надеюсь, запустите код

...