键入Mismach Basic Language

时间:2018-02-16 12:51:09

标签: basic

我是一名11年级学生,我使用的是基础语言编码。我问用户一个问题,用户可以选择是或否。在编码中,"类型不匹配"显示错误。同样在编码中,在问题之后,我编写了一些IF和END IF,在我遇到这个问题之前,它在我运行程序时打印了0。

我很困惑为什么我会遇到类型不匹配,即使我在IF和END IF区域中的变量也是如此。我有一个字符串,结尾是$作为变量。这就是我所拥有的。

程序的一部分应该计算租车的人的总保险,但计算机需要知道用户是否想要保险。即使我说我确实想要保险,当程序结束时输出保险时,程序仍显示0。

所以我的问题是,为什么我的类型不匹配?

Print "Do you want insurance?"
Print "1.Yes"
Print "2.No"
Input strInsurance$
IF strInsurance$=Yes THEN
    strInsurance$=sngDailyInsurance*sngDays
END IF
IF strInsurance$=No THEN
    strInsurance$=0
END IF

2 个答案:

答案 0 :(得分:0)

strInsurance$是一个字符串变量,因此您必须使用引号括住Yes,例如:

IF strInsurance$="Yes" THEN

IF strInsurance$="No" THEN

此外,您不能像在此处那样为字符串变量指定数字:

strInsurance$=0

在这里:

strInsurance$=sngDailyInsurance*sngDays

在任何情况下都可以将输入变量重用于结果,这很奇怪。

答案 1 :(得分:0)

正确的代码是:

Print "Do you want insurance?"
Print "1.Yes"
Print "2.No"
Input strInsurance$
IF strInsurance$="Yes" THEN
   strInsurance$=str$(sngDailyInsurance*sngDays)
END IF
IF strInsurance$="No" THEN
   strInsurance$="0"
END IF