Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 16
1

Записи. Файлы прямого доступа. Вывести абитуриентов, набравших меньше 12 баллов

21.03.2012, 23:55. Просмотров 958. Ответов 1
Метки нет (Все метки)

Составить файл с именем ABITUR, состоящий из данных по сдаче экзаменов абитуриентами. Указать для каждого абитуриента его код и оценки по трем вступительным экзаменам (записи). Исключить из файла элементы, относящиеся к абитуриентам, которые набрали меньше 12 баллов, использовать прямой доступ к элементам файла. Вывести на экран измененный файл ABITUR и новый с именем ICKL, с данными абитуриентов, набравших меньше 12 баллов.

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
program 666;
uses crt;
type otcenk=record
kod:string[12];
otcenka1,otcenka2,otcenka3:integer;
end;
var f,h:file of otcenk;
g:otcenk;
n,i,sum:integer;
begin clrscr;
assign(f,'C:\Users\Koshel\Desktop\Paskal\ABITUR.txt');
rewrite(f);
readln(n);
for i:=1 to n do
begin
write('kod='); readln(g.kod);
write('otcenka1='); readln(g.otcenka1);
write('otcenka2='); readln(g.otcenka2);
write('otcenka3='); readln(g.otcenka3);
write(f,g);
end;
close(f);
assign(f,'C:\Users\Desktop\Paskal\ABITUR.txt');
assign(h,'C:\Users\Desktop\Paskal\ICKL.txt');
reset(f);
rewrite(h);
while not eof(f) do begin
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2012, 23:55
Ответы с готовыми решениями:

Напечатать список абитуриентов набравших на экзаменах N и более баллов
В файл записать информацию об абитуриентац ,поступающих в университет:фамилия,имя,отчество,домашний...

Вывести список абитуриентов, отсортированный по сумме баллов, полученных на экзаменах
*Ввести и сохранить в файле данные следующей структуры:*ф.,и.,о. абитуриента, * средний балл...

Файл: Вывести названия команд, набравших меньше очков, чем заданная.
Записать в файл количество очков, набранных каждой из 19 команд-участниц первенства по футболу (ни...

Создать массив объектов. Вывести: список абитуриентов, у которых сумма баллов выше заданной
Помогите, пожалуйста, доделать задание. Заранее всем спасибо! Создать массив объектов. Вывести:...

1
50 / 50 / 39
Регистрация: 06.12.2011
Сообщений: 237
22.03.2012, 11:47 2
Условия задач не совсем понял.
Но вроде бы так

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
77
78
79
80
81
82
83
84
85
86
87
88
89
program sss;
uses crt;
type usp=record
fio:string[50];
kod:integer;
pr:array[1..10] of byte;
end;
f=file of usp;
var
fst,fst2:f;
st:usp;
i,sum:integer;
v:char;
procedure input;
begin
rewrite(fst);
repeat
writeln('Введите фамилию абитруента');
readln(st.fio);
if st.fio<>'*' then begin
writeln('Введите код студента');
readln(st.kod);
for i:=1 to 3 do begin
writeln('Введите ',i,' оценку');
readln(st.pr[i]);
end;
write(fst,st);
end;
until (st.fio)='*';
close(fst);
end;
 procedure output(var z:f);
 begin
reset(z);
WriteLn('|','Фамилия':10,'|','Kod':4,'|','Ocenka1':4,'|','ocenka2':4,'|','ocenka3':4,'|');
while not eof(z) do begin
read(z,st);
write('|',st.fio:10,'|');
write(st.kod:4,'|');
for i:=1 to 3  do begin
write(st.pr[i]:7,'|');
end;
writeln;
 
 end;
 readln;
close(z);
end;
 
begin
clrscr;
 
{$I-}
assign(fst,'c:\abit.01');
assign(fst2,'c:\iskl.02');
reset(fst);
if ioresult<>0 then begin writeln('Файл не существует');
input
end
else  begin
close(fst);
writeln('Файл существует');
writeln('Заменяем y/n');
readln(v);
if v='y' then input;
end;
{$I-}
reset(fst);
rewrite(fst2);
while not eof(fst) do begin
read(fst,st);
sum:=0;
for i:=1 to 3 do
sum:=sum+st.pr[i];
if sum<12 then write(fst2,st);
 
end;
                 close(fst);
                 close(fst2);
                 writeln;
 
 
        writeln('И С Х О Д Н Ы Й');
        output(fst);
        writeln;
        Writeln('СТУДЕНТЫ НАБРАВШИЕ МЕНЬШЕ 12 БАЛЛОВ');
        writeln;
        output(fst2);
        end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2012, 11:47

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

За один просмотр файла вывести за алфавитом абитуриентов, которые набрали наименьшее количество баллов
Собственно само задание: Создать файл записей с полями:Фамилия абитуриента, оценки за вступительные...

Файлы прямого доступа
Используя технологию процедурного программирования, разработать программу обработки типизированных...

Файлы прямого доступа
С# поддерживает работу с файлами прямого доступа? (тоесть чтобі доступ к компонентам или блокам...

Файлы прямого доступа
Помогите пожалуйста с работой.Разработать программу решения задачи поиска в массиве упорядоченных...


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

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

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