Найти фамилии владельцев и номер автомобилей заданной пользователем марки - Pascal

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

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

Сведения об автомобиле состоят из его марки, номера и фамилии владельца. Дан файл, содержащий сведения об автомобилях. Найти: а) фамилии владельцев и номер автомобилей заданной пользователем марки б) количество автомобилей каждой марки
нашёл в интернете, не совсем то что нужно, но практически идентично, может кому понадобится
program mawini;
uses crt;
type
Car_rec=record
Marka:string[40];
Vladelez:string[30];
nomer:integer;
end;
var
car:car_rec;
f:file of car_rec;
marka_car:string[30];
procedure cr_input_file;
var i,n:integer;
begin assign(f,'C:\biblio.dat');
rewrite(f);
write('Введите количество необходимых записей:');
readln(n);
for i:=1 to n do
begin
write('Запись',i,',');
write('Владелец:');
readln(car.vladelez);
write('Название Марки:');
readln(car.marka);
write('Номер Машини:');
readln(car.nomer);
write(f,car);
writeln('--------------------------------------------');
end;
close(f);
end;
procedure outputfile;
var i:integer;
begin
assign(f,'c:\Biblio.dat');
reset(f);
writeln('Каталог машин');
writeln('---------------------------------------------');
writeln('#','    Владелец ','  Марка  ','  Номер');
i:=1;
while not EOF(f) do
begin
read(f,car);
writeln(i,car.vladelez:10,car.marka:9,car.nomer:8);
i:=i+1;
end;
readln;
close(f);
end;
procedure search;
var k,i:integer; flag:boolean;
begin
assign(f,'c:\biblio.dat');
reset(f);
writeln('Введите марку машини:');
readln(marka_car);
writeln('----------------------------------');
k:=0; flag:=false; i:=1;
while not EOF(f) do
  begin
   read(f,car);
   if marka_car=car.marka then
      begin
        writeln(i,'  ',car.vladelez,'  ',car.marka,'  ',car.nomer);
        flag:=true;
        k:=k+1;
      end;
   i:=i+1;
  end;
   if flag then writeln('V biblioteke naideno ',k,' marok')
   else writeln('takix marok netu');
readln;
close(f);
end;
procedure menu;
var ch:char;
begin
repeat
clrscr;
writeln;
writeln('1. Создать и заполнить файл');
writeln('2. Открить фал для чтения');
writeln('3. Найти фамилию владельца');
writeln('4. Нажмите Esc для выхода ');
ch:=readkey;
case ch of
'1':begin clrscr; cr_input_file; end;
'2':begin clrscr; outputfile;end;
'3':begin clrscr; search;end;
end;
until ch=#27;
end;
begin
menu
end.

Решение задачи: «Найти фамилии владельцев и номер автомобилей заданной пользователем марки»

textual
Листинг программы
program hhhh;
uses crt;
type A= record
      marka:string;
      nomer:integer;
      fam:string;
     end;
Var car:A;
    S:string;  i,n:integer;
    F:File of A;
Begin
  Assign(f,'C:\car');
  ReWrite(f);
  repeat
    Write('Введите колличество записей ');
    readLn(n);
  until n > 1;
  for i:=1 to n do
  begin
  With car do
  begin
    WriteLn('Марка : ');
    readLn(marka);
    WriteLn('Номер : ');
    readLn(nomer);
    WriteLn('Фамилия : ');
    readLn(fam);
    WriteLn;
  end;
  Write(f,car);
  end;
close(f);
end.

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

Этот код написан на языке Pascal и выполняет следующие действия:

  1. Создает тип данных A, который представляет запись с маркой автомобиля, номером и фамилией владельца.
  2. Объявляет переменные car, S, i и n для работы с файлом и вводом/выводом данных.
  3. Открывает файл f на диске C:\car.
  4. Перезаписывает содержимое файла.
  5. Запрашивает у пользователя количество записей, которые он хочет добавить в файл.
  6. В цикле repeat считывает данные от пользователя для каждой записи.
  7. Для каждой записи:
    • Выводит сообщение с запросом ввода марки автомобиля.
    • Считывает введенную марку.
    • Выводит сообщение с запросом ввода номера автомобиля.
    • Считывает введенный номер.
    • Выводит сообщение с запросом ввода фамилии владельца.
    • Считывает введенную фамилию.
    • Выводит информацию о введенных данных.
  8. Записывает информацию о каждой записи в файл.
  9. Закрывает файл. Обратите внимание, что этот код использует встроенную функцию readLn(), которая считывает ввод пользователя и переходит на новую строку. Также он использует цикл repeat, чтобы позволить пользователю ввести количество записей, которые он хочет добавить в файл.

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


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

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

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