G-MINOR Ответов: 3

Я пытаюсь использовать команду ELSE IF в QBASIC?


В настоящее время я старшеклассник в HS learning QB64... в школе. Я программирую всего несколько недель, и мне это очень нравится. Отстой, я ждал до выпускного класса, чтобы взять курс программирования. Во всяком случае, вот мой код. Предполагается, что он вводит три числа, а затем выводит наибольшее число в кругах, расположенных в случайных местах со случайным размером.

ЭКРАН _NEWIMAGE (1000, 500, 256)
DIM num1 как целое число
DIM num2 как целое число
DIM num3 как целое число

ЦБС

РАНДОМАЙЗ ТАЙМЕР

Выведите " входные числа от 1 до 5."
ПЕЧАТАТЬ
Сон 3
ПЕЧАТАТЬ
Ввод "введите первое число:", num1
Ввод "введите второе число:", num2
Ввод "введите третье число:", num3

Если num1 > num2 и num3, то
Для r = 1-num1
КРУГ (RND * 999, RND * 499), (RND * 100) + 10
Рядом Р
Иначе если num2 > num1 и num3, то
Для x = 1-num2
КРУГ (RND * 999, RND * 499), (RND * 100) + 10
Далее х
ЕЩЁ
Для w = 1-num3
КРУГ (RND * 999, RND * 499), (RND * 100) + 10
Рядом ж
КОНЕЦ, ЕСЛИ
КОНЕЦ, ЕСЛИ
КОНЕЦ


В ЛЮБОМ СЛУЧАЕ ПЕРВЫЕ 2 IFS РАБОТАЮТ, НО ЕСЛИ ПОЛЬЗОВАТЕЛЬ ВВОДИТ НАИБОЛЬШЕЕ ЧИСЛО ДЛЯ ТРЕТЬЕГО ЧИСЛА, ОН НЕ БУДЕТ ВЫВОДИТЬ ТАКОЕ КОЛИЧЕСТВО КРУГОВ.

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

Все, что я могу придумать. Для меня не имеет никакого смысла, как это не работает.

3 Ответов

Рейтинг:
24

OriginalGriff

Посмотри на свое если:

IF num1 > num2 AND num3 THEN
Это не то, что вы думаете!
Вы думаете, что это означает "если число один является наибольшим из трех чисел" - это не так. И разбивает его на два отдельных условия и настаивает на том, что оба должны быть истинными: так что "если число один больше числа два" и "число три все само по себе".
Попробовать это:
IF num1 > num2 AND num1 > num3 THEN

Но какого черта вы изучаете QBasic в 2016 году? Это в значительной степени мертвый язык,и никто не должен пытаться изучать кодирование! Он не распространялся с Windows 2000! :смеяться:
Посмотрите на VB (или лучше C#) и (бесплатную) копию Visual Studio Community Edition - это сделает вашу жизнь намного, намного проще!


Рейтинг:
2

Patrice T

Попробуйте заменить

IF num1 > num2 AND num3 THEN

с
IF num1 > num2 AND num1 > num3 THEN


Рейтинг:
2

FellippeHeitor

Если решения в порядке.

Трепать Бейсик, не зная о QB64, - это нехорошо.

QB64-это современная Расширенная версия базового языка программирования, которая сохраняет совместимость QB4. 5/Qbasic и изначально компилируется для Windows, Linux и macOS.

www.qb64.org