Pascal 语法错误'';预期但';直到';建立
我的Pascal代码有问题。 有一些错误,我不知道在哪里Pascal 语法错误'';预期但';直到';建立,pascal,Pascal,我的Pascal代码有问题。 有一些错误,我不知道在哪里 program GTA6; uses Crt; var obraz, x, mampistoli, mamnuz: Integer; begin clrscr; randomize; obraz := 1; repeat clrscr; if obraz = 1 then begin writeln('Je 9:00 rano. Probudis se ve svem by
program GTA6;
uses
Crt;
var
obraz, x, mampistoli, mamnuz: Integer;
begin
clrscr;
randomize;
obraz := 1;
repeat
clrscr;
if obraz = 1 then
begin
writeln('Je 9:00 rano. Probudis se ve svem byte. Nekdo ti zvoni na dvere. Pujdes otevrit(2) nebo budes zvonek ignorovat(3)?');
readln(obraz);
if (obraz <> 2) and (obraz <> 3) then
obraz := 1;
end
else
if obraz = 2 then
begin
writeln('Otevres dvere a jsou tam dva dvoumetrovy plesaty chlapi s pistolema v ruce. Prej dluzis jejich sefoj 200 000 Kc a chce je vratit do 19:00 jinak te prijdou zabit.');
writeln(' Sahnout po pistoli(4), nedelat nic (5)');
readln(obraz);
if (obraz <> 2) and (obraz <> 3) and (obraz <> 4) and (obraz<> 5) then
obraz := 2;
end
else
if obraz = 5 then
begin
if mampistoli <> 1 then
begin
writeln('Odesli. Ty zjistis, ze nemas 200 000.');
writeln('vzit si pistoli(1), nebo si vzit nuz(2)');
readln(x);
if x = 1 then
mampistoli := 1;
if x = 2 then
mamnuz := 1;
end;
writeln('Takhle narychlo tolik penez nesezenes...budes muset udelat banku, nebo tak neco.');
writeln('Vyloupit banku (6), trafiku (7), vykr st auto (8)');
readln(obraz);
if (obraz <> 6) and (obraz <> 7) and (obraz <> 8) then
obraz := 5;
end
else
if obraz = 6 then
begin
if mampistoli = 1 then
begin
writeln('Rozhodl jsi se vyloupit banku s pistoli.');
writeln('Hlidac videl tvoji zbran a vystrelil po tobe!');
x := random(100);
if x < 50 then
writeln('Trefil te primo do hlavy!');
writeln('Zemrel jsi!');
obraz := 0;
end;
until obraz = 0;
writeln('KONEC HRY');
if x > 50 then
writeln('Netrefil se!');
readln;
end.
程序GTA6;
使用
阴极射线管;
变量
obraz,x,mampostoli,mamnuz:整数;
开始
clrsc;
随机化;
obraz:=1;
重复
clrsc;
如果obraz=1,则
开始
书面形式('Je 9:00 rano.Probudis se ve svem byte.Nekdo ti zvoni na dvere.Pujdes otevrit(2)nebo budes zvonek ignorovat(3)?);
readln(obraz);
如果(obraz 2)和(obraz 3),则
obraz:=1;
结束
其他的
如果obraz=2,则
开始
书面形式(“Otevres dve a jsou tam dva dva dva DVO METROVY plesaty chlapi s pistolema v ruce.Prej dluzis jejich sefoj 200000 Kc a chce je vratit do 19:00 ZINAK te prijdou zabit.”);
书面语('Sahnout po pistoli(4),nedelat nic(5)';
readln(obraz);
如果(obraz 2)和(obraz 3)以及(obraz 4)和(obraz 5),则
obraz:=2;
结束
其他的
如果obraz=5,则
开始
如果我是1,那么
开始
书面形式(“Odesli.Ty zjistis,ze nemas 200000”);
书面形式(“vzit si pistoli(1),nebo si vzit nuz(2)”;
readln(x);
如果x=1,则
mampostoli:=1;
如果x=2,则
mamnuz:=1;
结束;
书面形式(“纳里奇洛·托利克·佩内兹·内塞泽内斯……班库博物馆,内波·塔克·内科”);
书面形式(“Vyloupit banku(6家)、trafiku(7家)、vykr st auto(8家)”;
readln(obraz);
如果(obraz 6)和(obraz 7)和(obraz 8),则
obraz:=5;
结束
其他的
如果obraz=6,则
开始
如果i=1,则
开始
书面形式(“Rozhodl jsi se vyloupit banku s pistoli”);
书面形式(“Hlidac videl tvoji zbran a vystrelil po tobe!”);
x:=随机(100);
如果x<50,则
书面语(“Trefil te primo do hlavy!”);
writeln('Zemrel jsi!');
obraz:=0;
结束;
直到obraz=0;
书面形式(“KONEC HRY”);
如果x>50,则
writeln('Netrefil se!');
readln;
结束。
问题在哪里?添加一个
结束代码>在语句之前,直到语句。您缺少结尾其中一条if
语句的code>
在代码块开头有以下两个if
语句:
end else if obraz=6 then begin
if mampistoli=1 then begin
但只有一个end代码>以结束它们
如果仔细缩进代码,则更容易发现类似这样的问题。重复
repeat
...
end else if obraz=6 then
begin
if mampistoli=1 then
begin
writeln('Rozhodl jsi se vyloupit banku s pistoli.');
writeln('Hlidac videl tvoji zbran a vystrelil po tobe!');
x:=random(100);
if x< 50 then writeln('Trefil te primo do hlavy!');
writeln('Zemrel jsi!');
obraz:=0;
end;
END; <---
until obraz=0;
...
如果obraz=6,则结束else
开始
如果i=1,则
开始
书面形式(“Rozhodl jsi se vyloupit banku s pistoli”);
书面形式(“Hlidac videl tvoji zbran a vystrelil po tobe!”);
x:=随机(100);
如果x<50,则写入('Trefil te primo do hlavy!');
writeln('Zemrel jsi!');
obraz:=0;
结束;
结束;请在要求其他人查看代码时格式化代码。编辑你的帖子,去掉所有的空白,并缩进,以便阅读。试着学习如何使用case
语句。它将简化您的意大利面代码。波多维杰·泽洛夫纳瓦特·科德——从乌罗夫尼开始结束。缩进是编程的基础,特别是在pascal中。:D你是对的-我做了这个“错误的缩进”只是为了找到错误的地方。我希望现在一切都好:)