chitose

Tam Nguyên Thiên Tuế

Đóng góp: 0

Ngày sinh: 14/10/1997

Đăng ký: 06/08/2015

Lần đăng nhập cuối: 06/08/2015


Kết nối tài khoản

VOJ: Chưa kết nối

Ai giúp em giải thích lỗi này với?

Hai bài Pascal này bài 1 để nhập dữ từ bàn phím và ghi vào file kiểu record, bài 2 để đọc dữ liệu từ file kiểu record tạo ra ở bài 1 và ghi vào file khác. Thế nhưng ở bài 2 khi đọc đến bản ghi cuối cùng thì lại bị lỗi không chạy tiếp được. Nguyên do lỗi gì và giải quyết làm sao? Mong mọi người giúp đỡ.

bài 1:

program i;
uses crt;
type st20 = string[20];
     st10 = string[10];
     sinhvien = record
        hoten:st20;
        diem: st10;
        h:st10;
     end;
var f: file of sinhvien;
    sv: sinhvien;
    ten: st20;
    d:byte;
begin
     assign(f,'a.txt');
     rewrite(f);
     for d:=1 to 3 do begin
         readln(sv.hoten);
         readln(sv.diem);
         readln(sv.h);
         write(f,sv)
     end           ;
     close(f);
end.

bài 2:

program i;
uses crt;
type st20 = string[20];
     st10 = string[10];
     sinhvien = record
        hoten:st20;
        diem: st10;
        h:st10;
     end;
var f: file of sinhvien;
    sv: array[1..2] of sinhvien;
    ten: st20;
    d:integer;
begin
     assign(f,'a.txt');
     reset(f);
     d:=1;
     while not eof(f) do begin
         read(f,sv[d])  ;
         inc(d);
         end;
     close(f);
     assign(f,'aa.txt');
     rewrite(f);
     for d:=d downto 1 do begin
         write(f,sv[d]);
     end           ;
     close(f);
end.