10.04.2011, 16:55 | #1 (permalink) |
Member
Регистрация: 15.03.2011
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите найти ошибку
Создать простейшую базу данных на основе типизированных файлов записей. Требуется - создать файл записей с заданным именем, поместив в него сведения о студентах потока (номер группы, фамилия, имя и три отметки за семестр). На основе файла выяснить процент успеваемости на "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. |
10.04.2011, 16:55 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Ранее созданных обсуждения помогут раскрыть глаза на решение проблемы Помогите найти ошибку в программе Помогите найти ошибку, Pascal abc |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|