Ulazna tekstualna datoteka sadrži u svakom redu prezime osobe, njeno ime i telefon. Podaci su razdvojeni blanko znacima. Napisati potprogram na Pascal-u koji formira binarnu datoteku od podataka onih osoba iz ulazne datoteke koje imaju zadato prezime. Prezime i ime upisati kao jedinstveni niz znakova, a telefon kao ceo broj. Prezime i ime zajedno nisu duži od 50 znakova. Priložiti glavni program kome nedostaje samo izvršni deo.
Code:
program April_98(ulaz,izlaz);
type
podatak=record
prezime_ime:array[1..50] of char;
telefon:integer
end;
bin_dat=file of podatak;
var
ulaz:text;
izlaz:bin_dat;
procedure Obradi;
var
osoba:podatak;
a:array[1..50] of char;
i,j,n,fon,brojac:integer;
slovo:char;
begin
while not eof(ulaz) do
begin
slovo:='a'; {*Inicijalizacija na bilo koje slovo*}
i:=1;
while slovo <> ' ' do
begin
read(ulaz,slovo);
a[i]:=slovo;
i:=i+1
end;
read(ulaz,slovo);
if slovo in ['0'..'9']
then
begin
readln(ulaz);
i:=1
end
else
begin
repeat
a[i]:=slovo;
i:=i+1;
read(ulaz,slovo)
until slovo <> ' ';
read(ulaz,fon);
readln(ulaz);
brojac:=i;
i:=1;
for j:=1 to brojac do osoba.prezime_ime[j]:=a[j];
osoba.telefon:=fon;
write(izlaz,osoba)
end
end
end;
begin
assign(ulaz,'ulaz.txt'); reset(ulaz);
assign(izlaz,'izlaz.dat'); rewrite(izlaz);
Obradi;
close(ulaz);
close(izlaz)
end.
program April_98(ulaz,izlaz);
type
podatak=record
prezime_ime:array[1..50] of char;
telefon:integer
end;
bin_dat=file of podatak;
var
ulaz:text;
izlaz:bin_dat;
procedure Obradi;
var
osoba:podatak;
a:array[1..50] of char;
i,j,n,fon,brojac:integer;
slovo:char;
begin
while not eof(ulaz) do
begin
slovo:='a'; {*Inicijalizacija na bilo koje slovo*}
i:=1;
while slovo <> ' ' do
begin
read(ulaz,slovo);
a[i]:=slovo;
i:=i+1
end;
read(ulaz,slovo);
if slovo in ['0'..'9']
then
begin
readln(ulaz);
i:=1
end
else
begin
repeat
a[i]:=slovo;
i:=i+1;
read(ulaz,slovo)
until slovo <> ' ';
read(ulaz,fon);
readln(ulaz);
brojac:=i;
i:=1;
for j:=1 to brojac do osoba.prezime_ime[j]:=a[j];
osoba.telefon:=fon;
write(izlaz,osoba)
end
end
end;
begin
assign(ulaz,'ulaz.txt'); reset(ulaz);
assign(izlaz,'izlaz.dat'); rewrite(izlaz);
Obradi;
close(ulaz);
close(izlaz)
end.
ulaz.txt
Code:
Ciric Cira 3748969
Pera 8090463
Perovic Perka 677944
Baba Sera 0639863
Djura 988
Ciric Cira 3748969
Pera 8090463
Perovic Perka 677944
Baba Sera 0639863
Djura 988
Kod se uspesno prevede, ali ne i izvrsi. Greska je kod linije
Code:
read(ulaz,fon);
i kaze da je pogresan numericki format. A 10 puta sam gledao i tacno nalece na broj po kodu ili ja ne vidim dobro ;)read(ulaz,fon);
oVeRdOsE