Программа, которая в режиме запроса вводит записи и помещает их в файл - Pascal ABC
Формулировка задачи:
Написать программу, которая в режиме запроса вводит записи и помещает их в файл. Сведения о телевизорах вводятся с новой строки для каждого поля.
Телевизор 1
Марка.........А Цена.........1000 Диагональ.........51 Производитель: Завод.........З Город.........Москва Директор.........ВасяТелевизор 2
.....Телевизор 3
.....После ввода записей программа осуществляет поиск следующей информации:
-Марки телевизора с размером по диагонали более 50Решение задачи: «Программа, которая в режиме запроса вводит записи и помещает их в файл»
textual
Листинг программы
uses crt; type TV = record mark: char; price, diag: integer; manufact: record factory: byte; city, director: string; end; end; procedure Diag50(f: text); var i: integer; s, mark: string; diag, x: integer; t: TV; begin reset(f); while not eof(f) do begin readln(f, s); if (copy(s, 1, 5) = 'Марка') then mark := copy(s, 11, 1); if (copy(s, 1, 9) = 'Диагональ') then begin val(copy(s, 15, length(s) - 14), diag, x); if diag > 50 then write(mark, ', '); end; end; writeln; close(f); end; var t: array [1..10] of TV; i, n: byte; f: text; path: string; begin clrscr; path := 'C:\1\file.txt'; assign(f, path); write('Количество записей: '); readln(n); rewrite(f); for i := 1 to n do with t[i] do begin clrscr; writeln('Информация о ', i, ' телевизоре:'); writeln(f, 'Телевизор ', i); write('Марка: '); readln(mark); writeln(f, 'Марка.....', mark); write('Цена: '); readln(price); writeln(f, 'Цена.....', price); write('Диагональ: '); readln(diag); writeln(f, 'Диагональ.....', diag); writeln('Производитель:'); writeln(f, 'Производитель:'); write('Завод: '); readln(manufact.factory); writeln(f, 'Завод.....', manufact.factory); write('Город: '); readln(manufact.city); writeln(f, 'Город.....', manufact.city); write('Директор: '); readln(manufact.director); writeln(f, 'Директор.....', manufact.director); end; close(f); clrscr; write('Телевизоры с диагональю больше 50: '); Diag50(f); end.
Объяснение кода листинга программы
- Объявлены переменные: i, s, mark, diag, x, t, n, f, path.
- Задан путь к файлу и открыта запись в файл.
- Пользователю предлагается ввести количество записей.
- Создается цикл, который выполняет ввод данных для каждой записи.
- Для каждой записи выполняется вывод информации о записи на экран и запись информации в файл.
- Для каждой записи запрашивается и записывается информация о марке, цене, диагонали, производителе (заводе, городе, директоре).
- Закрывается файл для записи.
- Выполняется очистка экрана.
- Выводится сообщение о телевизорах с диагональю больше 50.
- Выполняется процедура Diag50, которая считывает информацию из файла и выводит сообщение о телевизорах с диагональю больше 50.
- Закрывается файл.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д