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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2011, 21:53   #1
as1212
Пользователь
 
Регистрация: 08.10.2011
Сообщений: 42
По умолчанию работа с файлами

Помогите, что-то не получается

Заранее благодарен

Код:
program lab14;
uses crt;
type student=record
      fam:string;
      name:string;
       ot:string;
      year:integer;
      sf:integer;
      balot:integer;
      sh:string;
      bal:record
        mat: integer;
        fiz: integer;
      end;
     end;
var st: student;
    i,d,k: integer;
    f,f1: file of student;
    {Разработать программу записи подготовленных данных в файл и
    программу обработки созданного файла: удалить из файла все записи,
    удовлетворяющие условию, и распечатать информацию,
    оставшуюся в файле. С файла, содержащего исходные данные,
    удалить записи, соответствующие абитуриентам, которые имеют
    отличный аттестат и получили все оценки 5 на вступительных экзаменах}
begin
assign(f,'c:\1.txt');assign(f1,'c:\2.txt');
rewrite(f);
writeln('Коль-во студентов');
readln(d);
 with st do
    begin
      for i:=1 to d do
      begin
       writeln('Фимилия');
       readln(fam);
       writeln('Имя');
       readln(name);
       writeln('Отчество');
       readln(ot);
       writeln('Год рождения');
       readln(year);
       writeln('Год окончания школы');
       readln(sf);
       writeln('Средний бал оттестата');
       readln(balot);
       writeln('Нужно ли общежитие');
       readln(sh);
       writeln('Баллы вступительных экзаменов:');
       writeln('Математика:');
       readln(bal.mat);
       writeln('Физика:');
       readln(bal.fiz);
      end;
      Write(f,st);
    end;
k:=0;
reset(f);
rewrite(f1);
while not eof(f) do

  read(f,st);
    begin
     with st do
      if (bal.mat<>5) and (bal.fiz<>5) and (balot<>5) then
      begin
      k:=k+1;
      Write(f1,st);
      end;
    end;

reset(f1);
while not eof(f1) do
 read(f1,st);
   with st do
   for i:=1 to k do
  WriteLn('Не отличники... ',fam,' ',name,' ',ot,' ',year,' ',sf,' ',balot,' ',sh,' ',bal.mat,' ',bal.fiz);
CLOSE(f);
CLOSE(f1);
readkey;
end.
as1212 вне форума Ответить с цитированием
Старый 15.11.2011, 23:11   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не, ну а кто должен догадаться, что именно у Вас не получается?!
Это что, тест на сообразительность?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.11.2011, 23:28   #3
as1212
Пользователь
 
Регистрация: 08.10.2011
Сообщений: 42
По умолчанию

не выводит нужный результат
as1212 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами Painkiller_13 Общие вопросы Delphi 5 17.07.2011 00:41
работа с файлами n3sh Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 09.04.2011 05:39
Работа с файлами Cpluser Общие вопросы C/C++ 2 16.02.2009 23:22
Работа с файлами Yar Помощь студентам 2 02.06.2008 08:03