Witam, mam plik tekstowy w ktorym dane umieszczone sa w nastepujacy sposob: na samej gorze liczba wszystkich uczniow w tymze pliku. Pod spodem imie i nazwisko ucznia, w nastepnej linii liczba jego ocen, a w kolejnej te jego oceny oddzielone spacjami. Nastepnie sa dane kolejnego ucznia w takim samym porzadku.
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
sciezka,tekst:string;
plik:textfile;
i,k,ile_s,ile_o:integer;
ocena:real;
begin
writeln('Podaj sciezke dostepu razem z nazwa pliku:');
readln(sciezka);
assignfile(plik,sciezka);
reset(plik);
readln(plik,ile_s);
while not (eof(plik)) do
begin
readln(plik,tekst);writeln(tekst);
readln(plik,ile_o);writeln(ile_o);
k:=1;
while k<=ile_o do
begin
read(plik,ocena);
writeln(ocena:0:1);
k:=k+1;
end;
end;
closefile(plik);
readln;
end.
Chce zeby program mi wypisywal po kolei te dane. Wypisuje mi dane i oceny 1 ucznia. I nastepnie wyrzuca komunikat: 'Invalid numeric input' przy linijce:
readln(plik,ile_o);writeln(ile_o);
Nie rozumiem, w 1 petli while w drugim obiegu program powinien wczytac imie i nazwisko i liczbe ocen ucznia. W takiej kolejnosci te dane znajduja sie w pliku tekstowym. Co jest zle w tym kodzie?
Oceny moga wygladac tak: 3.5 dlatego dalem jako typ real.