Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на файлы записей
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Zlo
Помогите написать программу, а то зачет не поставят(:
Заполнить текстовый файл данными о 30 абитуриентов поступающих на три разных факультета(фамилия, имя, факультет,оценки,полученные на трех экзаменах). Переписать данные в файл записей. вывести на экран списки абитуриентов по факультетам,получивших "двойку" на одном из экзаменов.
Тёмный Эльф
Цитата(Zlo @ 23.12.2007 12:14) *

Помогите написать программу, а то зачет не поставят(:
Заполнить текстовый файл данными о 30 абитуриентов поступающих на три разных факультета(фамилия, имя, факультет,оценки,полученные на трех экзаменах). Переписать данные в файл записей. вывести на экран списки абитуриентов по факультетам,получивших "двойку" на одном из экзаменов.

А что конкретно не получается? О типе данных Записи можешь прочитать в факе: Записи, о работе с файлами здесь: Файлы
Zlo
Вообщем есть программа помогите исправить а то работает некоректно

const n=30;
type ocen=array[1..3] of byte;
student=record
Fi:string;
fak:string;
oc:ocen;
end;

var ab:array[1..30] of student;
out:file of student;
i:integer; s:string;
begin
assign(input,'input.txt');reset(input);
for i:=1 to n do begin
read(s);
ab[i].Fi:=ab[i].Fi+s;
read(s); ab[i].Fi:=ab[i].Fi+' '+s;
read(ab[i].fak);
read(ab[i].oc[1]);
read(ab[i].oc[2]);
readln(ab[i].oc[3]);
end;
close(input);
assign(out,'output.txt');
rewrite(out);
for i:=1 to n do
write(out,ab[i]);
close(out);
for i:=1 to n do
if (ab[i].fak=ab[1].fak) then
if (ab[i].oc[1]=2) or (ab[i].oc[2]=2)or(ab[i].oc[3]=2) then writeln(ab[i].Fi);
for i:=1 to n do
if (ab[i].fak<>ab[i].fak) then
if (ab[i].oc[1]=2)or(ab[i].oc[2]=2)or(ab[i].oc[3]=2) then writeln(ab[i].Fi);
end.

andriano
В чем состоит некорректность?
Ozzя
Ввод в текстовый файл с клавиатуры:
...
type
ocen=array[1..3] of byte;
student=record
Fam,Imya:string;
fak:string;
oc:ocen;
end;
...
var
f: text;
begin
assign(f,'input.txt');rewrite(f);
for i:=1 to n do
begin
readln(ab[i].Fam);
readln(ab[i].Imya);
readln(ab[i].fak);
readln(ab[i].oc[1]);
readln(ab[i].oc[2]);
readln(ab[i].oc[3]);
end;
close(f);
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.