program subor;
uses crt;
var a,b,body:integer;
c:char;
hra:text;
procedure cislo;
begin
body:=0;
while a=6 do
begin
writeln('ake cislo si myslim?:');
readln(b);
case b of
6:begin
writeln('uhadli ste');
a:=6;
end;
else
begin
writeln('neuhadli ste hadajte este raz');a:=a+1;
body:=body+1;
end;
end;
end;
begin
writeln('dobry den');
writeln('spustit hru - stlacte:s');
writeln('ulozit skore - stlacte:o');
writeln('ukoncit hra - stlacte:q');
c:=readkey;
case c of
's':cislo;
'o':begin
assign(hra,'hra.txt');
{$I-}
Append(hra);
if IOResult<>0 then Rewrite(hra);
{$I+}
writeln(hra,body);
close(hra);
end;
'q':exit;
end;
end.
44 / 4 untitl~1.pas
Fatal: Syntax error, ; expected but . found
prelozil som si to tak:ocakavalo sa ; ale naslo sa .
lenze ked tam dam etse jeden end; pise to tiez
co mam robit?
Fórum › Pascal
End.
Zmáčknu 's' (hra). Spustí se procedura Cislo. Ta začíná cyklem while a=6, který se neprovede ani jednou (na začátku programu je hodnota proměnné a nedefinovaná a nejspíš bude 0) a procedura skončí. Pak skončí příkaz case v hlavním programu (který není nijak zacyklen, takže po skončení hry nečekej, že se ti znovu objeví menu) a to je celé, pak už tam je end.
Jestli jsem to dobře pochopil, tak fatální chyby jsou:
1) V té proceduře má být podmínka while a<>6 (cyklus prováděj, dokud a není 6).
2) Na začátku té procedury nutně musíš přiřadit a:=0, jinak při příštím spuštění bude a=6 od minula a cyklus hned skončí.
Další drobná vylepšení:
3) Příkaz case v hlavním programu zabal do cyklu repeat ... until c='q'; a z case vyřaď poslední podmínku (tu s tím exitem) - bude zbytečná.
4) Proměnnou A deklaruj v procedure Cislo lokalne, bude to tak prehlednejsi.
5) Proměnná B je zbytečná (není nikde použita).
6) Je zbytečné používat jednotku CRT, program nepoužívá žádné její funkce.
Už to běhá?
Moje stránka.
No jo, toho jsem si nevšiml :-]. Takže CRT jo.
Moje stránka.
A v jednotce crt je taky clrscr - příkaz pro vymazání obrazovky, to bys' tam taky mohl použít.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Prázdniny - in the end? — založil Tocimanko
Front-end developer — založil Pixelko
Syntaxová chyba $end — založil Alex Candle
Unexpected end of file — založil Martin
Front-end vývojář - SvětBot.cz — založil Vladislav Skoumal
Moderátoři diskuze