Построить типизированный файл о владельцах автомобилей - Pascal ABC
Формулировка задачи:
Помогите пожалуйста решить задачку!!!
На языке Паскаль решить следующую задачу. Построить типизированный файл данных, который состоит из записей с такими полями: фамилия владельца автомобиля, марка автомобиля, номер автомобиля. Дана фамилия владельца автомобиля, необходимо в файле данных найти марку и номер его автомобиля. Подсчитать, сколько всего автомобилей такой же марки в данном файле.
Решение задачи: «Построить типизированный файл о владельцах автомобилей»
textual
Листинг программы
program pr; type hos = record surname: string[50]; mark: string[50]; number: integer; end; var i, n, j, cout: integer; f: file of hos; s1, s2: string[50]; autom: array [1..100] of hos; h: array [1..1] of hos; // массив в который мы сохраним искомую марку begin assign(f, 'c:\auto.txt'); rewrite(f); writeln('Введите количество записей'); readln(n); for i := 1 to n do begin writeln('Введите фамилию владельца'); readln(autom[i].surname); writeln('Введите марку автомобиля'); readln(autom[i].mark); writeln('Введите номер автомобиля'); readln(autom[i].number); write(f, autom[i]); end; close(f); reset(f); while not eof(f) do begin for i := 1 to n do read(f, autom[i]); writeln('Введите фамилию владельца автомобиля'); readln(s1); for j := 1 to n do if autom[j].surname = s1 then begin writeln('Марка: ', autom[j].mark); h[j].mark := autom[j].mark; writeln('Номер: ', autom[j].number); end; end; cout := 0; j := 1; for i := 1 to n do if (h[j].mark = autom[i].mark) then begin cout := cout + 1; end; writeln('Таких марок всего: ', cout); end.
Объяснение кода листинга программы
- Создается тип данных
hos
, который представляет владельца автомобиля. - Создаются переменные
i
,n
,j
,cout
иf
. - Открывается файл
c:\auto.txt
для записи. - Записывается приглашение пользователю ввести количество записей.
- Пользователю предлагается ввести количество записей.
- Для каждого введенного числа записей (от 1 до n) выполняется следующий цикл:
- Запрашивается фамилия владельца.
- Записывается владелец в файл.
- Запрашивается марка автомобиля.
- Записывается марка автомобиля.
- Запрашивается номер автомобиля.
- Записывается номер автомобиля.
- После окончания записи всех владельцев открывается файл еще раз и начинается чтение файла до конца.
- В цикле чтения файла проверяется, совпадает ли фамилия текущего владельца с фамилией искомых владельцев.
- Если совпадает, то записывается марка и номер текущего владельца.
- После чтения всех владельцев подсчитывается количество владельцев с совпадающей маркой.
- Выводится количество таких владельцев.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д