Запись и вывод данных в/из типизированного файла - Pascal ABC

Формулировка задачи:

Доброго времени суток! Необходима помощь: нужно организовать ввод данных в типизированный файл (.dat ) с возможность вывода их ( данных ) в виде таблицы через оный. Код:
type vuzi = record
nazv_v:string[20];
chislo_s:1..500;
kol_f:1..50;
kol_kaf:1..50;
end;
const n=5;
var i:byte; v:array[1..n] of vuzi;
a:string;
begin
for i:=1 to n do
begin
writeln('Задайте название');readln(v[i].nazv_v);
writeln('Задайте число студентов');readln(v[i].chislo_s);
writeln('Задайте кол-во факультетов');readln(v[i].kol_f);
writeln('Задайте кол-во кафедр');readln(v[i].kol_kaf);
end;
///Вот эти данные
writeln('Название вуза',' Кол-во студентов',' Кол-во факультетов',' Кол-во кафедр');
writeln;
for i:=1 to n do 
with v[i] do 
writeln(nazv_v:4,' ',chislo_s:4,' ',kol_f:2,' ',kol_kaf:2);
///
writeln('Поиск по названию вуза: задайте название:');readln(a);
for i:=1 to n do
with v[i] do
begin
if(a=nazv_v) then 
begin
writeln('***');
writeln('Название вуза: ', nazv_v);
writeln('Общее число студентов: ', chislo_s);
writeln('***');
end;
writeln
end;end.

Код к задаче: «Запись и вывод данных в/из типизированного файла - Pascal ABC»

textual
type vuzi = record
            nazv_v:string[20];
            chislo_s:1..500;
            kol_f:1..50;
            kol_kaf:1..50;
            end;
const n=5;
var  f:file of vuzi;
     v:vuzi;
     i,k:byte;
     a:string;
begin
assign(f,'cuzy.dat');
rewrite(f);
writeln('Введите данные о ',n,' ВУЗах');
for i:=1 to n do
 begin
  writeln('ВУЗ ',i);
  with v do
   begin
    write('Задайте название: ');readln(nazv_v);
    write('Задайте число студентов: ');readln(chislo_s);
    write('Задайте кол-во факультетов: ');readln(kol_f);
    write('Задайте кол-во кафедр: ');readln(kol_kaf);
    write(f,v);
   end;
 end;
writeln('Содержание файла');
reset(f);
writeln('Название вуза',' Кол-во студентов',' Кол-во факультетов',' Кол-во кафедр');
writeln;
while not eof(f) do
 begin
  read(f,v);
  with v do
  writeln(nazv_v:4,' ',chislo_s:4,' ',kol_f:2,' ',kol_kaf:2);
 end;
///
writeln('Поиск по названию вуза: задайте название:');readln(a);
k:=0;
reset(f);
while not eof(f) do
 begin
  read(f,v);
  with v do
  if(a=nazv_v) then
   begin
    k:=1;
    writeln('***');
    writeln('Название вуза: ', nazv_v);
    writeln('Общее число студентов: ', chislo_s);
    writeln('***');
   end;
 end;
close(f);
if k=0 then write('Такого ВУЗа нет')
end.

6   голосов, оценка 4.167 из 5


СОХРАНИТЬ ССЫЛКУ