Lazarus Pascal Code无法正常工作cmd屏幕立即关闭



这是我的pascal代码,它看起来很好,但工作不正常。当它应该将最新的输出打印到屏幕上时,它会直接关闭。

Uses crt;
label durak1;
var      
yas: Integer;
begin
durak1:
CLRSCR;
write('YASINIZI BELIRTINIZ : '); READLN(yas);
if (yas <0) or (yas >150 ) then begin 
writeln('LUTFEN GECERLI BIR YAS ARALIGI GIRINIZ');
delay(2000); 
goto durak1;
end;
case yas of
0,1:      writeln('Bebek Yas Grubu'); 
2..5:     writeln('Cocuk Yas Grubu');
6..18:    writeln('Genc Yas Grubu'); 
19..34:   writeln('Orta Yas Grubu');
35..59:   writeln('Hafif Yasli Grubu');
60..100:  writeln('Bi Ayagi Cukurda Yas Grubu');
101..150: writeln('Olmus Yas Grubu');
else      
writeln('Yanlis Tuslama');
delay(10000); 
goto durak1;
end;
end.

这是一个简单的代码,因为我试图重复我在学校看到的

当用户输入有效年龄时,您缺少额外的ReadLN调用。现在,在您的案例陈述之后没有ReadLN调用,因此一旦用户输入有效年龄,您的应用程序就会关闭。

Uses crt;
label durak1;
var      
yas: Integer;
begin
durak1:
CLRSCR;
write('YASINIZI BELIRTINIZ : '); READLN(yas);
if (yas <0) or (yas >150 ) then begin 
writeln('LUTFEN GECERLI BIR YAS ARALIGI GIRINIZ');
delay(2000); 
goto durak1;
end;
case yas of
0,1:      writeln('Bebek Yas Grubu'); 
2..5:     writeln('Cocuk Yas Grubu');
6..18:    writeln('Genc Yas Grubu'); 
19..34:   writeln('Orta Yas Grubu');
35..59:   writeln('Hafif Yasli Grubu');
60..100:  writeln('Bi Ayagi Cukurda Yas Grubu');
101..150: writeln('Olmus Yas Grubu');
else      
writeln('Yanlis Tuslama');
delay(10000); 
goto durak1;
end;
//Add another READLN call here to prevent application from closing instantly when valid age is entered
READLN(yas);
end.

我建议您学习如何使用断点和逐步遍历代码,以便观察代码流。知道如何一步一步地观察代码执行是非常重要的。因为这是确保你的代码以你想要的方式执行的唯一方法

最新更新