Error in statement – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Error in statement – Pascal – Fórum – Programujte.comError in statement – Pascal – Fórum – Programujte.com

 

Beginner0
Duch
2. 3. 2009   #1
-
0
-

Tohle hlásí (při průběžné kompilaci) error in statement (co s tím):

program akcies;
uses crt;
var kb, cedok, ba, csad, microsoft :integer;
account, mymoney :integer;
fr,sr,tr :integer;
pass :string;
ackb, acced, acba, acs, acmic :integer;
function password (x : string) : boolean;
begin
if x='root' then password:=true
else password:=false;
end;
begin
kb :=2000;
cedok :=890;
ba :=1300;
csad :=1700;
microsoft :=2400;
writeln ('Zadej heslo');
readln (pass);
if password (pass) then
begin
repeat
begin
fr :=random (2 )+1;
sr :=random (890)+1;
tr :=random (4)+1;
if fr=1 then begin
if (kb < 0) or (cedok < 0) or (ba < 0) or (csad < 0) or (microsoft < 0) then
begin
kb :=kb-(tr*sr);
cedok :=cedok-(tr*sr);
ba :=ba-(tr*sr);
csad :=csad-(tr*sr);
microsoft :=microsoft-(tr*sr);
end;
if fr=2 then begin
kb :=kb+(tr*sr);
cedok :=cedok+(tr*sr);
ba :=ba+(tr*sr);
csad :=csad+(tr*sr);
microsoft :=microsoft+(tr*sr);
end;
writeln ('Komercni banka ', kb);
writeln ('Cedok ', cedok);
writeln ('British Arways ', ba);
writeln ('CSAD ', csad);
writeln ('Microsoft ', microsoft);
readln (com);
if com='kb' then begin
writeln ('Chcete kupovat?');
readln (com);
if com='ano' then begin
writeln ('Kolik?');
readln (com);
if mymoney-com*kb>0 then begin
ackb := ackb+com
end;
else writeln ("Nemas dost penez");
end;
if com='ne' then begin
writeln ('Kolik?');

end;
end;

if com='cedok' then begin
writeln ('Chcete kupovat?');
readln (com);
if com='ano' then begin

end;
if com='ne' then begin

end;
end;

if com='ba' then begin
writeln ('Chcete kupovat?');
readln (com);
if com='ano' then begin

end;
if com='ne' then begin

end;
end;

if com='csad' then begin

end;

if com='microsoft' then begin

end;
end;
until com='exit';
end;
else writeln ('Zadal jsi spatne heslo');
end.

Nahlásit jako SPAM
IP: 213.220.240.–
KIIV
~ Moderátor
+43
God of flame
2. 3. 2009   #2
-
0
-

na kterym radku ?

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Mircosoft+1
Věrný člen
2. 3. 2009   #3
-
0
-

Chybu, kterou popisuješ, ti to určitě hází kvůli tomuhle středníku před else:

...

end;
else writeln ('Zadal jsi spatne heslo');
...

Až to opravíš a překladač se se za to místo dostane, možná ti vynadá ve stylu "; expected", "end expected" nebo "unexpected end of file", protože se mi zdá, že tady, jak jsem připsal ty otazníky, ti chybí jeden end:
...

if fr=1 then begin
if (kb < 0) or (cedok < 0) or (ba < 0) or (csad < 0) or (microsoft < 0) then
begin
kb :=kb-(tr*sr);
cedok :=cedok-(tr*sr);
ba :=ba-(tr*sr);
csad :=csad-(tr*sr);
microsoft :=microsoft-(tr*sr);
end;
????????
if fr=2 then begin
...


Pak tam nikde nevidím deklaraci proměnné Com a divím se, že ti to prošlo.


P.S.: příště prosím používej tlačítko "kód" v horní liště, aby se zdroják vypsal neproporcionálním písmem.

Nahlásit jako SPAM
IP: 86.49.83.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
Beginner0
Duch
2. 3. 2009   #4
-
0
-

Ta verze před tím tam bylo chyb jak naseto, ale tohle nechápu.
Na řádce kde je until, tak to píše error in statement

program akcies;
uses crt;
var kb, cedok, ba, csad, microsoft :integer;
account, mymoney, comi :integer;
fr,sr,tr :integer;
pass,com :string;
ackb, acced, acba, acs, acmic :integer;
function password (x : string) : boolean;
begin
if x='root' then password:=true
else password:=false;
end;
begin
kb :=2000;
cedok :=890;
ba :=1300;
csad :=1700;
microsoft :=2400;
writeln ('Zadej heslo');
readln (pass);
if password (pass) then
begin
repeat
begin
fr :=random (2 )+1;
sr :=random (890)+1;
tr :=random (4)+1;
if fr=1 then begin
if (kb < 0) or (cedok < 0) or (ba < 0) or (csad < 0) or (microsoft < 0) then
begin
kb :=kb-(tr*sr);
cedok :=cedok-(tr*sr);
ba :=ba-(tr*sr);
csad :=csad-(tr*sr);
microsoft :=microsoft-(tr*sr);
end;
if fr=2 then begin
kb :=kb+(tr*sr);
cedok :=cedok+(tr*sr);
ba :=ba+(tr*sr);
csad :=csad+(tr*sr);
microsoft :=microsoft+(tr*sr);
end;
writeln ('Komercni banka ', kb);
writeln ('Cedok ', cedok);
writeln ('British Arways ', ba);
writeln ('CSAD ', csad);
writeln ('Microsoft ', microsoft);
readln (com);
if com='kb' then begin
writeln ('Chcete kupovat?');
readln (com);
if com='ano' then begin
writeln ('Kolik?');
readln (comi);
if mymoney-comi*kb>0 then begin
ackb := ackb+comi;
end
else writeln ('Nemas dost penez');
end;
if com='ne' then begin
writeln ('Kolik?');

end;
end;

if com='cedok' then begin
writeln ('Chcete kupovat?');
readln (com);
if com='ano' then begin

end;
if com='ne' then begin

end;
end;

if com='ba' then begin
writeln ('Chcete kupovat?');
readln (com);
if com='ano' then begin

end;
if com='ne' then begin

end;
end;

if com='csad' then begin

end;

if com='microsoft' then begin

end;
end;
until com='exit';
end;
else writeln ('Zadal jsi spatne heslo');
end.

Nahlásit jako SPAM
IP: 89.176.102.–
Laaca0
Stálý člen
2. 3. 2009   #5
-
0
-

Chyba je v tomhle úseku. Přebývá ti tam BEGIN pře podmínkou IF. Další chyba je v řádku pod until, kde mezi "end" a "else" přebývá středník.

if fr=1 then begin

if (kb < 0) or (cedok < 0) or (ba < 0) or (csad < 0) or (microsoft < 0) then
begin
kb :=kb-(tr*sr);
cedok :=cedok-(tr*sr);
ba :=ba-(tr*sr);
csad :=csad-(tr*sr);
microsoft :=microsoft-(tr*sr);
end;


Nahlásit jako SPAM
IP: 81.0.253.–
DOS-u-akbar
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 26 hostů

Podobná vlákna

No SQL statement available — založil dyžon

QT error: Error code 62097 — založil QtProgramming

Error C# — založil maxiking27

Error — založil Matyas

GL Error — založil Kenvelo

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý