Pascal作业中gotoxy命令失效求助:代码可运行但定位异常
Pascal中gotoxy输出异常的解决方案
你的代码并非gotoxy命令失效,而是重复使用同一坐标配合writeln的换行特性,导致输出内容互相覆盖,出现显示混乱。
问题代码中的核心问题点
- 同一坐标多次调用
writeln:比如gotoxy(20,27)连续执行两次writeln,第二次输出会直接覆盖第一次的内容 - 坐标与输出行不匹配:比如
gotoxy(20,30)写了Total:的前缀,却在gotoxy(20,29)输出金额,导致行错位 writeln执行后光标会自动跳转到下一行开头,后续未调整坐标的输出会偏离预期位置
修正后的代码
gotoxy(32,24); write(' _______________________________________________ '); gotoxy(32,25); write('| PESANAN ANDA |'); gotoxy(32,26); writeln('|_______________________________________________|'); // 同一行拆分不同x坐标输出,避免覆盖 gotoxy(20,27); write(' Nama: ', nama); gotoxy(50,27); writeln('Rp.', jumlah,',-'); // 每行对应唯一坐标输出 gotoxy(20,28); writeln(' Porsi: ', porsi2); gotoxy(20,29); writeln(' Jenis: ', lokasi); gotoxy(20,30); writeln(' Total: Rp.', total,',-'); readln; end;
修正说明
- 同一行的多段内容使用不同的x坐标(如20和50)分开输出,避免互相覆盖
- 每个
writeln对应单独的行,确保光标位置符合预期 - 移除重复的坐标调用,让每个输出的位置唯一且逻辑连贯
内容的提问来源于stack exchange,提问作者RD 1380
相关产品推荐
相关产品推荐

