Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2016, 12:04   #1
JustDigital
Новичок
Джуниор
 
Регистрация: 18.06.2016
Сообщений: 1
По умолчанию Работа с файлами

Дан файл f (который мы изначально заполняем первой программой)
(с помощью второй программы) Собрать в файле g сведения о лучших учениках школы,
т. е. Об учениках не имеющих отметок ниже "4" и по сумме баллов не уступающим другим ученикам своего и параллельных классов.
Ошибка заключается в том,что вторая программа записывает лишь один компонент в конечный файл

Первая программа на заполнение:
type
komp = record
famil: string[10];
Oc: Array[1..6]of integer;
God: integer;
klass: char;
end;
var
Fp: file of komp;
g:text;
A: komp;
T,m,J, Y, N, i, kolich: integer;
E: boolean;

begin
Assign(Fp, 'm.dta');
rewrite(fp);
Writeln('Введите количесво студентов');
Readln(N);
for i := 1 to N do
begin
Writeln('Введите фамилию ');
Readln(A.famil);
Writeln('Введите количесво оценок');
Readln(Kolich);
Writeln('Введите оценки студента ');
for Y := 1 to kolich do
readln(A.Oc[Y]);
writeln('Введите год');
Readln(A.God);
writeln('Введите класс');
Readln(A.klass);
Writeln('Данные успешно сохранены');
write(fp,A);
end;
End.

Вторая программа на запись хороших учеников в отдельный файл:
type
komp = record
famil: string[10];
Oc: Array[1..6]of integer;
God: integer;
klass: char;
end;

var
Fp,r: file of komp;
A,b: komp;
F,L,M,i, J,N: integer;



begin
Writeln('Введите количество студентов');Readln(N);
Writeln('Введите количество оценок');Readln(L);
assign(R, 'Result.dta');
assign(fp,'m.dta');


Reset(fp);
For i:=0 to N-1 do
Seek(fp,i);
Read(fp,A);
writeln('Чтение ',A.Oc);
For F:=1 to L do
begin
Writeln ('оценка: ',A.Oc[f]);
if A.Oc[F] >3 then begin
B.famil:=A.Famil;
B.klass:=A.klass;
B.God:=A.god;
reset(r);
write(R,B);
end;
end;
end;
close(r);
Reset(R);
Read(R, B);
Writeln('Студенты,которые хорошо учатся', B.famil:20);
end.
JustDigital вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лабораторная работа(очень простая) Структуры, работа с файлами yurda Фриланс 2 11.06.2016 08:44
Работа с файлами atereshhuk Помощь студентам 0 01.12.2014 19:26
Работа с файлами: запись, добавление, чтение (найти ошибку в коде) / C для начинающих Надо создать программу для работы с файлами Konlor Общие вопросы C/C++ 2 18.05.2014 12:37
работа с файлами Funy Помощь студентам 0 16.01.2012 15:44