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

Узнай цену своей работы

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

Доброго времени суток! Необходима помощь: нужно организовать ввод данных в типизированный файл (.dat ) с возможность вывода их ( данных ) в виде таблицы через оный. Код:
Листинг программы
  1. type vuzi = record
  2. nazv_v:string[20];
  3. chislo_s:1..500;
  4. kol_f:1..50;
  5. kol_kaf:1..50;
  6. end;
  7. const n=5;
  8. var i:byte; v:array[1..n] of vuzi;
  9. a:string;
  10. begin
  11. for i:=1 to n do
  12. begin
  13. writeln('Задайте название');readln(v[i].nazv_v);
  14. writeln('Задайте число студентов');readln(v[i].chislo_s);
  15. writeln('Задайте кол-во факультетов');readln(v[i].kol_f);
  16. writeln('Задайте кол-во кафедр');readln(v[i].kol_kaf);
  17. end;
  18. ///Вот эти данные
  19. writeln('Название вуза',' Кол-во студентов',' Кол-во факультетов',' Кол-во кафедр');
  20. writeln;
  21. for i:=1 to n do
  22. with v[i] do
  23. writeln(nazv_v:4,' ',chislo_s:4,' ',kol_f:2,' ',kol_kaf:2);
  24. ///
  25. writeln('Поиск по названию вуза: задайте название:');readln(a);
  26. for i:=1 to n do
  27. with v[i] do
  28. begin
  29. if(a=nazv_v) then
  30. begin
  31. writeln('***');
  32. writeln('Название вуза: ', nazv_v);
  33. writeln('Общее число студентов: ', chislo_s);
  34. writeln('***');
  35. end;
  36. writeln
  37. end;end.

Решение задачи: «Запись и вывод данных в/из типизированного файла»

textual
Листинг программы
  1. type vuzi = record
  2.             nazv_v:string[20];
  3.             chislo_s:1..500;
  4.             kol_f:1..50;
  5.             kol_kaf:1..50;
  6.             end;
  7. const n=5;
  8. var  f:file of vuzi;
  9.      v:vuzi;
  10.      i,k:byte;
  11.      a:string;
  12. begin
  13. assign(f,'cuzy.dat');
  14. rewrite(f);
  15. writeln('Введите данные о ',n,' ВУЗах');
  16. for i:=1 to n do
  17.  begin
  18.   writeln('ВУЗ ',i);
  19.   with v do
  20.    begin
  21.     write('Задайте название: ');readln(nazv_v);
  22.     write('Задайте число студентов: ');readln(chislo_s);
  23.     write('Задайте кол-во факультетов: ');readln(kol_f);
  24.     write('Задайте кол-во кафедр: ');readln(kol_kaf);
  25.     write(f,v);
  26.    end;
  27.  end;
  28. writeln('Содержание файла');
  29. reset(f);
  30. writeln('Название вуза',' Кол-во студентов',' Кол-во факультетов',' Кол-во кафедр');
  31. writeln;
  32. while not eof(f) do
  33.  begin
  34.   read(f,v);
  35.   with v do
  36.   writeln(nazv_v:4,' ',chislo_s:4,' ',kol_f:2,' ',kol_kaf:2);
  37.  end;
  38. ///
  39. writeln('Поиск по названию вуза: задайте название:');readln(a);
  40. k:=0;
  41. reset(f);
  42. while not eof(f) do
  43.  begin
  44.   read(f,v);
  45.   with v do
  46.   if(a=nazv_v) then
  47.    begin
  48.     k:=1;
  49.     writeln('***');
  50.     writeln('Название вуза: ', nazv_v);
  51.     writeln('Общее число студентов: ', chislo_s);
  52.     writeln('***');
  53.    end;
  54.  end;
  55. close(f);
  56. if k=0 then write('Такого ВУЗа нет')
  57. end.

Объяснение кода листинга программы

  1. Создание типа данных vuzi с полями nazv_v, chislo_s, kol_f, kol_kaf.
  2. Объявление переменных: n, f, v, i, k, a.
  3. Открытие файла 'cuzy.dat' для записи.
  4. Вывод сообщения Введите данные о ... ВУЗах.
  5. Цикл for для ввода данных о каждом из n ВУЗов.
  6. Внутри цикла: чтение названия ВУЗа, числа студентов, числа факультетов и числа кафедр.
  7. Запись данных в файл.
  8. Вывод сообщения Содержание файла.
  9. Чтение данных из файла до конца файла.
  10. Цикл while для поиска данных по названию ВУЗа.
  11. Чтение данных из файла.
  12. Проверка совпадения названия ВУЗа с введенным пользователем.
  13. Если совпадение найдено, вывод данных о ВУЗе.
  14. Установка переменной k в 1, если совпадение найдено.
  15. Вывод сообщения ***.
  16. Вывод названия ВУЗа и числа студентов.
  17. Вывод сообщения ***.
  18. Закрытие файла.
  19. Проверка значения переменной k.
  20. Вывод сообщения Такого ВУЗа нет.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы