Построить типизированный файл о владельцах автомобилей - 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.

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

  1. Создается тип данных hos, который представляет владельца автомобиля.
  2. Создаются переменные i, n, j, cout и f.
  3. Открывается файл c:\auto.txt для записи.
  4. Записывается приглашение пользователю ввести количество записей.
  5. Пользователю предлагается ввести количество записей.
  6. Для каждого введенного числа записей (от 1 до n) выполняется следующий цикл:
    • Запрашивается фамилия владельца.
    • Записывается владелец в файл.
    • Запрашивается марка автомобиля.
    • Записывается марка автомобиля.
    • Запрашивается номер автомобиля.
    • Записывается номер автомобиля.
  7. После окончания записи всех владельцев открывается файл еще раз и начинается чтение файла до конца.
  8. В цикле чтения файла проверяется, совпадает ли фамилия текущего владельца с фамилией искомых владельцев.
  9. Если совпадает, то записывается марка и номер текущего владельца.
  10. После чтения всех владельцев подсчитывается количество владельцев с совпадающей маркой.
  11. Выводится количество таких владельцев.

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


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

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

8   голосов , оценка 4.125 из 5
Похожие ответы