Pascal - syntaktická chyba

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Odpovědět
student99
nováček
Příspěvky: 2
Registrován: 11 čer 2009 21:12

Pascal - syntaktická chyba

Příspěvek od student99 »

Mám program, který má vylosovat zadanej počet žáků ke zkoušení. Mám ho udělanej s pomocí jednoho celkem znalce v oboru, ale už na mě nemá čas :-) .
Problém je v tom, že při spouštění mi to stále hlásí syntaktickou chybu a já jako nepříliš velkej znalec ji nemůžu najít. Dík za pomoc

Uses crt;
type student = record
prij,jmeno :string;
vybran :boolean;
end;
var pole : array [1..30] of student;
T:text;
z,zkous:integer;

procedure los(zaci:integer);
var student,b:integer;
begin
randomize;
for b:= 1 to z do
begin
repeat
student :=random(z)+1;
until pole[student].vybran =false;
pole[student].vybran := true;
writeln(pole[student].prijm,' ',pole[student].jmeno);
end;
end;

begin
z:=0;
assign(T,'C:\simpas\zaci.txt');
reset(T);
while not eof(T) do
begin
z:=z +1;
read(T, zaci[z].prijm);
readln(T, zaci[z].jmeno);
pole[z].vybran := false;
end;
close(T);
writeln('Pocet studentu ke zkouseni?: ');
readln(zkous);
writeln ('Vybrani byli tito studenti:');
writeln;
los(zkous);
readln;
end.


Kurzor se zastavuje na 6.řádku.
Jabkozrout
Level 1
Level 1
Příspěvky: 59
Registrován: 10 čer 2009 20:51

Re: Pascal - syntaktická chyba

Příspěvek od Jabkozrout »

Už jsem paskal pár let neviděl, ale typoval bych že chyba je v deklaraci array, viz : http://pascal.webz.cz/kurs/lekce/lekce8.htm
Uživatelský avatar
Sender
Level 3.5
Level 3.5
Příspěvky: 700
Registrován: 04 led 2007 19:19
Bydliště: Vysočina

Re: Pascal - syntaktická chyba

Příspěvek od Sender »

Takhle mi to funguje v D7 ,ale nemáš tam nikde pole " zaci[]"

Kód: Vybrat vše

program Project1;

Uses crt;
type student = record
prij,jmeno :string;
vybran :boolean;
end;
var pole : array [1..30] of student;
T:text;
z,zkous:integer;

procedure los(zaci:integer);
var student,b:integer;
begin
randomize;
for b:= 1 to z do
begin
repeat
student :=random(z)+1;
until pole[student].vybran =false;
pole[student].vybran := true;
writeln(pole[student].prij,' ',pole[student].jmeno);
end;
end;

begin
z:=0;
assign(T,'C:\simpas\zaci.txt');
reset(T);
while not eof(T) do
begin
z:=z +1;
//read(T, zaci[z].prijm);
//readln(T, zaci[z].jmeno);
pole[z].vybran := false;
end;
close(T);
writeln('Pocet studentu ke zkouseni?: ');
readln(zkous);
writeln ('Vybrani byli tito studenti:');
writeln;
los(zkous);
readln;
end.
student99
nováček
Příspěvky: 2
Registrován: 11 čer 2009 21:12

Re: Pascal - syntaktická chyba

Příspěvek od student99 »

Takhle to mám nyní. Ale na řádku 30, read(T,student[z].prijm); to po mě chce závorku. Nevím co s tím. Předem dík za radu.

Kód: Vybrat vše

program losovani;
Uses crt;
type student =record
prijm,jmeno :string;
vybran :boolean;
end;
var pole : array [0..30] of student;
T:text;
z,zkous:integer;
procedure los(zaci:integer);
var student,b:integer;
begin
randomize;
for b:= 1 to z do
begin
repeat
student :=random(z)+1;
until pole[student].vybran =false;
pole[student].vybran :=true;
writeln (pole[student].prijm,'',pole[student].jmeno);
end;
end;
begin
z:=0;
assign(T,'C:\simpas\simpas\zaci.txt');
reset(T);
while not eof(T) do
begin
z:=z +1;
read(T,student[z].prijm);
readln(T, student[z].jmeno);
pole[z].vybran := false;
end;
close(T);
writeln('Pocet studentu ke zkouseni?: ');
readln(zkous);
writeln ('Vybrani byli tito studenti:');
writeln;
los(zkous);
readln;
end.
Jabkozrout
Level 1
Level 1
Příspěvky: 59
Registrován: 10 čer 2009 20:51

Re: Pascal - syntaktická chyba

Příspěvek od Jabkozrout »

a nemá tam být místo read, readln ??
Uživatelský avatar
Sender
Level 3.5
Level 3.5
Příspěvky: 700
Registrován: 04 led 2007 19:19
Bydliště: Vysočina

Re: Pascal - syntaktická chyba

Příspěvek od Sender »

>readln(T, student[z].jmeno);< - student není pole ,ale datový typ.

Vypadat by to mnělo třeba takto:
var s:string;
st:student;

Read(T,s);
st.jmeno:=s;
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Chyba CPU na desce
    od petan320 » » v Problémy s hardwarem
    16 Odpovědi
    10147 Zobrazení
    Poslední příspěvek od petr22
  • Chyba hardware.
    od Steage7717 » » v Problémy s hardwarem
    4 Odpovědi
    4184 Zobrazení
    Poslední příspěvek od Steage7717
  • Chyba příkazový řádek
    od zik9 » » v Windows 11, 10, 8...
    4 Odpovědi
    3271 Zobrazení
    Poslední příspěvek od zik9
  • Sqlite - systémová chyba
    od cindy the skull » » v Vše ostatní (sw)
    6 Odpovědi
    12021 Zobrazení
    Poslední příspěvek od atari
  • prohližeč událostí id 1796 chyba
    od walderan » » v Problémy s hardwarem
    9 Odpovědi
    6116 Zobrazení
    Poslední příspěvek od walderan

Zpět na „Programování a tvorba webu“