2013-07-12 62 views
2
[Start] 
n=INT((RND*10)+1) 
PRINT "I have thought of a number." 
PRINT "Try to guess it!" 
PRINT "Enter your guess." 
INPUT g 

[Right] 
IF g=n THEN GOTO [Finish] 
**IF g < n PRINT "Your guess was wrong. Try again. The correct answer was "; n;"." THEN GOTO [Start] 
IF g > n PRINT "Your guess was wrong. Try again! The correct answer was "; n;"." THEN GOTO [Start]** 

[Finish] 
PRINT "Well done! You guessed it." 
END 
+2

我没有使用BASIC本世纪,但我觉得你的THEN'的'使用不正确。 – Henrik

+0

我没有得到一个线索,但即时通过这个在线编译器http://www.onlinecompiler.net/basic试图找出它的笑声。如果我得到任何地方我会让你知道(不要屏住呼吸虽然) – beaumondo

+0

这是什么问题? – StingyJack

回答

0
IF condition THEN positive ELSE negative 

然而,这

IF g > n THEN PRINT "Your guess was wrong. Try again! The correct answer was "; n;"."; GOTO [Start] 
你想要什么

不会做,因为IF ... THEN ... ELSE语句在打印和随后的GOTO将在两种情况下运行后结束。

在最基础知识,你可以这样做:

IF g > n THEN 
    PRINT "Your guess was wrong. Try again! The correct answer was "; n;"."; 
ELSE 
    GOTO Start 
END IF 

但我不知道你的特殊风味。

0

虽然它可以用较少的GOTO被wrutten,这应该工作太:

[Start] 
n=INT((RND*10)+1) 
PRINT "I have thought of a number." 
PRINT "Try to guess it!" 
PRINT "Enter your guess." 
INPUT g 

[Right] 
IF g=n THEN GOTO [Finish] 

PRINT "Your guess was wrong. Try again. The correct answer was "; n;"."  
GOTO [Start] 

[Finish] 
PRINT "Well done! You guessed it." 
END 
相关问题