2015-02-28 2 views
0

Я пишу угадывающую игру в QBasic, о которой вы говорите, что я не к этому, и каждый раз, когда я запускаю код, rndnum всегда равен 0. Что я должен изменить?Почему сумма INT (RND * 100) +1 всегда равна 0? _QBasic

+1

Покажите нам полный код, иначе мы не сможем вам помочь. Кроме того, qbasic становится немного старым, в наши дни много альтернатив для начинающих. Я бы предложил изучить Python или любой другой более современный язык, вы найдете гораздо больше помощи в Интернете. –

+1

Покажите нам некоторый код. Вы инициализировали случайный генератор? Что возвращает РНД? – usr1234567

+0

http://brisray.com/qbasic/qchance.htm – nkcode

ответ

0

Если вы говорите, что первое возвращаемое число равно нулю при каждом запуске программы, все, что вам нужно, это добавить оператор randomize как одноразовую процедуру. Если вы говорите, что по мере того, как вы повторяете один и тот же код в цикле, он каждый раз возвращает ноль, тогда есть что-то еще неправильное - скорее всего, по какой-либо причине QBasic не распознает RND как функцию и поэтому предполагает, что это переменная , который по умолчанию будет установлен на ноль. Правильный синтаксис будет выглядеть примерно так:

Lowerbound = 1 
Upperbound = 100 
RANDOMIZE 
FOR X = 1 TO 10 
    PRINT INT((Upperbound - Lowerbound + 1) * RND + Lowerbound) 
NEXT X 
1

Чтобы получить другое случайное число, вы должны сначала его посеять. Вот пример из файла справки QB 4.5:

RANDOMIZE TIMER ' This is the best seed. The time is constantly changing 
A = INT(RND*100)+1 ' Generate a random number 
Print A 

 Смежные вопросы

  • Нет связанных вопросов^_^