Помогите найти ошибку
Здравствуйте!помогите найти ошибку:tehnari_ru_281:
Создать простейшую базу данных на основе типизированных файлов записей. Требуется - создать файл записей с заданным именем, поместив в него сведения о студентах потока (номер группы, фамилия, имя и три отметки за семестр). На основе файла выяснить процент успеваемости на "4" и "5" (количество студентов без "3", отнесенное к общему числу учащихся). Требуется также создать файл записей с заданным именем, поместив в него сведения о плохо успевающих студентах потока (с оценками "2" и "3") — номер группы, фамилия, имя, средний балл семестра, и вывести его записи на экран. program z1; uses crt; type otmet = record o1, o2, o3:integer; end; stud = record gr: integer; fam, name: string; otm: otmet; end; neysp = record gr: integer; fam, name: string; sr: real; end; var f: file of stud; g: file of neysp; i, n: integer; s: array [1 .. 20] of stud; k: integer; q: neysp; begin clrscr; assign (f, 'stud.dat'); assign (g, 'neysp.dat'); k := 0; reset (f); n := 0; rewrite (g); while not EOF (f) do begin inc (n); read (f, s [n]); write (s [n].gr : 6); write (s [n].fam : 15); write (s [n].name : 15); write (s [n].otm.o1 : 6); write (s [n].otm.o2 : 6); writeln (s [n].otm.o3 : 6); if (s [n].otm.o1 > 3) and (s [n].otm.o2 > 3) and (s [n].otm.o3 > 3) then k := k + 1 else begin q.gr := s [n].gr; q.fam := s [n].fam; q.name := s [n].name; q.sr := (s [n].otm.o1 + s [n].otm.o2 + s [n].otm.o3) / 3; write (g, q); end; end; writeln (''); writeln ('Horoshistov ', k/n*100:8:2,'%'); close (f); close (g); reset (g); while not EOF (g) do begin read (g, q); write (q.gr : 6); write (q.fam : 15); write (q.name : 15); writeln (q.sr : 6 : 2); end; close (g); readln; end. |
Часовой пояс GMT +4, время: 17:49. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.