Input 将输入语句打印到特定行(?)

Input 将输入语句打印到特定行(?),input,format,qbasic,Input,Format,Qbasic,为qbasic类执行项目时,我需要第1行请求输入,即“输入预计消耗率:”,完成后,它将在其下运行一个循环,其中我需要它在同一第1行上打印另一个输入语句,“输入另一个预计消耗率或0退出:”我遇到的问题是,如果我使用LOCATE,它将直接在该语句下打印循环的下一个结果,而我希望它打印在列表中最后一个结果的下方,使用最小的未使用空间,并且它不会清除最上面一行的旧文本。我知道部分原因是因为循环,定位被重复了,但我真的被卡住了。对不起,我是新来的:) CLS 百分之二 将级别设置为双级 作为整数的DIM计

为qbasic类执行项目时,我需要第1行请求输入,即“输入预计消耗率:”,完成后,它将在其下运行一个循环,其中我需要它在同一第1行上打印另一个输入语句,“输入另一个预计消耗率或0退出:”我遇到的问题是,如果我使用LOCATE,它将直接在该语句下打印循环的下一个结果,而我希望它打印在列表中最后一个结果的下方,使用最小的未使用空间,并且它不会清除最上面一行的旧文本。我知道部分原因是因为循环,定位被重复了,但我真的被卡住了。对不起,我是新来的:)

CLS
百分之二
将级别设置为双级
作为整数的DIM计数器
变暗为双倍
输入“输入预计消耗率,或0退出:”,百分比
印刷品
打印选项卡(2);“损失”;表(17);“最终臭氧”
打印选项卡(2);“费率”;表(10);“年”;表(17);“浓度”
变化=(百分比/100)
当百分比为0时执行此操作
计数器=0
臭氧层=450
直到臭氧层<200
计数器=计数器+1
ozLevel=ozLevel-(ozLevel*变更)
环
使用“##.##%”打印;表(2);百分比
打印标签(10);柜台
使用“####.##”打印;表(17);臭氧层;
找到1,1
输入“输入新投影:”,百分比
变化=(百分比/100)
环
找到1号,35号
打印“完成”
结束
QBasic具有告诉您光标所在位置的功能

  • 确保打印第三个结果时不执行回车和换行。只需卸下

  • 现在,将下一个可用行的索引存储在适当的变量(如TableRow)中

  • 在屏幕的第一行输入与以前一样

  • 在每次输入之后,使用此变量将光标定位到下一个可用行上

    CLS

DIM percent AS DOUBLE
DIM ozLevel AS DOUBLE
DIM counter AS INTEGER
DIM change AS DOUBLE

INPUT "enter a projected depletion rate, or 0 to quit: ", percent

PRINT
PRINT TAB(2); "Loss"; TAB(17); "Final Ozone"
PRINT TAB(2); "Rate"; TAB(10); "Years"; TAB(17); "Concentration"

change = (percent / 100)

DO WHILE percent <> 0

counter = 0
ozLevel = 450
    DO UNTIL ozLevel < 200
    counter = counter + 1
    ozLevel = ozLevel - (ozLevel * change)
    LOOP
PRINT USING "##.##%"; TAB(2); percent;
PRINT TAB(10); counter;
PRINT USING "###.##"; TAB(17); ozLevel;
LOCATE 1, 1
INPUT "enter new projection: ", percent
change = (percent / 100)
LOOP

LOCATE 1, 35
PRINT "DONE"

END
    ...
    PRINT USING "###.##"; TAB(17); ozLevel
    tablerow = CRSLIN
    LOCATE 1, 1
    INPUT "enter new projection: ", percent
    change = (percent / 100)
    LOCATE tablerow, 1
    LOOP
    ...