Форум программистов, компьютерный форум, киберфорум
Наши страницы
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Rey367
0 / 0 / 0
Регистрация: 17.06.2013
Сообщений: 3
1

Определить количество студентов, сдавших экзамен на 5 и 4

18.06.2013, 19:53. Просмотров 530. Ответов 1

Создать файл с именем STUD, состоящий из записей: порядковый номер, фамилия, номер группы, оценка по трем предметам.
Добавить в начало файла STUD три записи и вывести записи полученного файла. Нумерация должна быть сквозной.
Определить количество студентов, сдавших экзамен на 5 и 4. Вывести данные этих студентов.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Program RGR1.2;
Type exRecord =     Record
n: byte;
surname: string;
group: integer;
subject1: integer;
subject2: integer;
subject3: integer;
end;
Var stud,stud2: file of exRecord;
rec: exRecord;
i,k:byte;
begin
assign(stud, 'STUD.dat');
rewrite(stod);
for i:=1 to 4 do
with rec do
begin
n:=i;
writeln('Input surname ', i);
readln(surname);
writeln('Input group list number ', i);
readln(group);
writeln('Input subject1 list number ', i);
readln(subject1);
writeln('Input subject2 list number ', i);
readln(subject2);
writeln('Input subject3 list number ', i);
readln(subject3);
write(stud,rec);
end;
begin
assign(stud2, 'STUD2.dat');
rewrite(stud2);
for i:=1 to 3 do
with rec do
begin
n:=i;
writeln('Input surname ', i);
readln(surname);
writeln('Input group list number ', i);
readln(group);
writeln('Input subject1 list number ', i);
readln(subject1);
writeln('Input subject2 list number ', i);
readln(subject2);
writeln('Input subject3 list number ', i);
readln(subject3);
write(stud2,rec);
end;
begin
reset (stud);
while not eof (stud) do
begin
k:=filesize(stud2);
read (stud,rec);
rec.n:=k+1;
write(stud2,rec)
end;
close(stud);
erase (stud);
close(stud2);
rename(stud2,'stud.dat');
reset (stud2);
seek(stud2,0);
writeln;
while not EOF(stud2) do
begin
read(stud2,rec);
if (rec.subject1>=4) and (rec.subject2>=4)and(rec.subject3>=4)  then
writeln(rec.n,' ',rec.surname,' ',rec.group,' ',rec.subject1,' ',rec.subject2,' ',rec.subject3);
end;
readln;
end;
end;
end.
Начальные данные:

Фаил 1: 1 Ivanov 121 555
2 Petrov 122 343
3 Cidorov 123 434
4 Kozlov 121 454

Фаил 2: 1 Nemov 122 324
2 Alekceev 123 444
3 Zotov 121 333


Выдает ошибку, помогите исправить Типизированый файл не может содержать элементы такого типа указывая на exRecord = Record

Спасибо за помощь
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2013, 19:53
Ответы с готовыми решениями:

Каково наименьшее количество студентов, так и не сдавших зачёт?
Поток студентов сдавал один и тот же зачёт в течении 5 дней. Не сумевшие сдать приходили на...

Нужно организовать заполнение массива случайными значениями от 2 до 5 и определить количество студентов, сдавших сессию без двоек
Помогите в написании кода Pascal. Массив хранит оценки сессии 5-ти студентов по 6-ти предметам....

Определить средний балл студентов, успешно сдавших сессию, используя двумерный массив
Помогите пожалуйста! Карма +100000. Задан двумерный числовой массив из 25 строк и 7 столбцов, в...

Выбрать студентов сдавших сессию только на удовлетворительно.
Тема этой программы: Динамические типы данных! Создать файл, содержащий сведения о студентах вашей...

Определить количество абитуриентов, сдавших вступительные экзамены только на "отлично"
Добрый вечер! Появилась проблема с одной задачкой. Кому не сложно, прошу помочь. -\\-\\-\\-\\-\\-...

1
volvo877
38 / 37 / 23
Регистрация: 01.06.2009
Сообщений: 59
19.06.2013, 11:06 2
Типизированный файл действительно не может содержать классы (а String в новых компиляторах, таких как FPC и PascalABC.NET - это именно класс). Исправь:

Pascal
1
2
3
4
5
6
7
8
Type exRecord = Record
n: byte;
surname: ShortString; // Вот такую строку типизированный файл умеет хранить
group: integer;
subject1: integer;
subject2: integer;
subject3: integer;
end;
, ну, и заодно - исправь опечатку:
Pascal
1
2
assign(stud, 'STUD.dat');
rewrite(stud); // <--- тут было stod
, тогда программа будет компилироваться. На работоспособность не проверял.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2013, 11:06

Вывести средний балл каждого студента и номер студентов,не сдавших сессию
Задана матрица размерности н на м.н-количество студентов,м-количество сданных экзаменов. Каждый...

Вывести фамилии, имена и отчества всех студентов мужского пола, не сдавших более двух экзаменов
вывести фамилии, имена и отчества всех студентов мужского пола , не сдавших более двх экзаменов

Определить количество студентов, у которых нет ни одной двойки
Помогите решить, кто в этом шарит... буду очень благодарен!:) Задана таблица успеваемости по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru