If statement QBasic中的If-else梯形图

If statement QBasic中的If-else梯形图,if-statement,qbasic,If Statement,Qbasic,我计算折扣的QBasic代码如下: CLS INPUT "ENTER BILL AMOUNT";AMT IF AMT <= 6000 THEN DISCOUNT = 0 ELSEIF AMT > 6000 AND AMT <= 15000 THEN DISCOUNT = 0.2 * AMT ELSEIF AMT > 15000 AND AMT <= 50000 THEN DISCOUNT = 0.3 * AMT ELSEIF AMT >

我计算折扣的QBasic代码如下:

CLS
INPUT "ENTER BILL AMOUNT";AMT
IF AMT <= 6000 THEN
    DISCOUNT = 0
ELSEIF AMT > 6000 AND AMT <= 15000 THEN
    DISCOUNT = 0.2 * AMT
ELSEIF AMT > 15000 AND AMT <= 50000 THEN
    DISCOUNT = 0.3 * AMT
ELSEIF AMT > 50000 AND AMT <= 100000 THEN
    DISCOUNT = 0.4 * AMT
ELSEIF AMT > 100000 AND AMT<= 200000 THEN
    DISCOUNT = 0.5 * AMT
ELSEIF AMT > 200000 AND AMT <= 1000000 THEN
    DISCOUNT = 0.6 * AMT
ELSE
    DISCOUNT = 0.7 * AMT
END IF
NET = AMT - DISCOUNT
PRINT "THE BILL AMOUNT IS:"; NET
END
CLS
输入“录入票据金额”;金额

如果AMT 6000和AMT 15000、AMT 50000和AMT 100000、AMT 200000和AMT则QBasic中正确的语法应为,而不是
ELSE IF
(请注意,这两个单词写为一个,没有空格)。

您应将ELSE IF替换为ELSEIF

CLS
INPUT "ENTER BILL AMOUNT"; AMT
IF AMT <= 6000 THEN
    DISCOUNT = 0
ELSEIF AMT > 6000 AND AMT <= 15000 THEN
    DISCOUNT = 0.2 * AMT
ELSEIF AMT > 15000 AND AMT <= 50000 THEN
    DISCOUNT = 0.3 * AMT
ELSEIF AMT > 50000 AND AMT <= 100000 THEN
    DISCOUNT = 0.4 * AMT
ELSEIF AMT >100000 AND AMT <= 200000 THEN
    DISCOUNT = 0.5 * AMT
ELSEIF AMT > 200000 AND AMT <= 1000000 THEN
    DISCOUNT = 0.6 * AMT
ELSE
    DISCOUNT = 0.7 * AMT
END IF
NET = AMT - DISCOUNT
PRINT "THE BILL AMOUNT IS:" NET
END
CLS
输入“录入票据金额”;金额

如果AMT 6000和AMT 15000、AMT 50000和AMT 100000、AMT 200000和AMT以下是一个没有任何其他选择的解决方案:

CLS
INPUT "ENTER BILL AMOUNT BEFORE DISCOUNT"; AMT
DISCOUNT = 0.7
IF AMT <= 1000000 THEN DISCOUNT = 0.6
IF AMT <= 200000 THEN DISCOUNT = 0.5
IF AMT <= 100000 THEN DISCOUNT = 0.4
IF AMT <= 50000 THEN DISCOUNT = 0.3
IF AMT <= 15000 THEN DISCOUNT = 0.2
IF AMT <= 6000 THEN DISCOUNT = 0
DISCOUNT = DISCOUNT * AMT
NET = AMT - DISCOUNT
PRINT "THE BILL AMOUNT IS:"; NET
END
CLS
输入“录入贴现前票据金额”;金额
折扣=0.7

如果金额,则通过使折扣和金额更具可读性来解决阶梯问题

CLS
INPUT "ENTER BILL AMOUNT"; AMT
SELECT CASE AMT
    CASE IS <= 6000
        DISCOUNT = 0
    CASE 6000 TO 15000
        DISCOUNT = 0.2 * AMT
    CASE 15000 TO 50000
        DISCOUNT = 0.3 * AMT
    CASE 50000 TO 100000
        DISCOUNT = 0.4 * AMT
    CASE 100000 TO 200000
        DISCOUNT = 0.5 * AMT
    CASE 200000 TO 1000000
        DISCOUNT = 0.6 * AMT
    CASE ELSE
        DISCOUNT = 0.7 * AMT
END SELECT
NET = AMT - DISCOUNT
PRINT "THE BILL AMOUNT IS:"; NET
END
CLS
输入“录入票据金额”;金额
选择案例金额

案例是什么错误?为什么是QBasic?我认为QBasic没有
,否则如果
,它应该是
elseif
。我需要用QBasic编码。你需要用QBasic编码,就像我需要失去双臂一样。90年代的人打过电话,他们想要回他们的QBasic:-)那么你终于该告诉我们QBasic报告了什么错误了。孩子,求你了!我确实同意。。。但我必须尊重询问者的编码风格(即使我不喜欢),应该有人向他暗示正确的语法()。有人应该让他知道,对所有他没有想到的项目给予最大的折扣,并不是最好的解决办法。那样的话,你的答案只是第二好。
CLS
INPUT "ENTER BILL AMOUNT"; AMT
SELECT CASE AMT
    CASE IS <= 6000
        DISCOUNT = 0
    CASE 6000 TO 15000
        DISCOUNT = 0.2 * AMT
    CASE 15000 TO 50000
        DISCOUNT = 0.3 * AMT
    CASE 50000 TO 100000
        DISCOUNT = 0.4 * AMT
    CASE 100000 TO 200000
        DISCOUNT = 0.5 * AMT
    CASE 200000 TO 1000000
        DISCOUNT = 0.6 * AMT
    CASE ELSE
        DISCOUNT = 0.7 * AMT
END SELECT
NET = AMT - DISCOUNT
PRINT "THE BILL AMOUNT IS:"; NET
END