(turbo pascal) Информация о движении междугороднего автобуса содержит следующие данные: название остановки, время прибытия (часы, минуты), время стоянки (минуты), стоимость проезда из начального пункта. Написать программу, в ко...

(turbo pascal)  Информация о движении междугороднего автобуса содержит следующие данные: название остановки, время прибытия (часы, минуты), время стоянки (минуты), стоимость проезда из начального пункта. Написать программу, в которой: -  обеспечить ввод данных с клавиатуры и сохранение их в типизированном файле; организовать выборку из типизированного файла информации об остановках, стоянка на которых выше средней по маршруту, вывод данных о них на экран и сохранение в текстовом файле
Гость
Ответ(ы) на вопрос:
Гость
type   Route = record     station: string[30];     arrival: string[5];     stop: string[5];     cost: real   end; { Программа для заполнения данными файла } { var   F: file of Route;   r: Route; begin   writeln('Вводите данные');   writeln('--------------');   Assign(F, 'Route.dat');   Rewrite(F);   with r do     repeat       write('Населенный пункт (*-завершить): ');       readln(station);       if (station <> '*') then       begin         write('Время прибытия чч:мм ');         readln(arrival);         write('Стоянка чч:мм: ');         readln(stop);         write('Стоимость проезда, руб.коп: ');         readln(cost);         write(F, r);       end     until station = '*';   Close(F) end. } { Программа для работы с заполненным файлом } function hhmm2Int(s: string): integer; {переводит время чч:мм в челое число минут} var   i, j, ierr: integer; begin   Val(Copy(s, 1, 2), j, ierr);   if ierr = 0 then i := 60 * j else i := 0;   Val(Copy(s, 4, 2), j, ierr);   if ierr = 0 then i := i + j;   Result := i end; var   F: file of Route;   F2:Text;   r: Route;   i, ierr, istop, n: integer;   s: string;   cstop: real; begin   Assign(F, 'Route.dat');   Reset(F);   n := 0;   cstop:=0;   while not Eof(F) do   begin     read(F, r);     istop := hhmm2Int(r.stop);     if istop > 0 then       begin       cstop:=cstop+istop;       n := n + 1       end   end;   cstop := cstop / n;   Reset(F);   Assign(F2,'screen.dat');   Rewrite(F2);   writeln('Населенные пункты, в которых стоянка дольше средней');   writeln(F2,'Населенные пункты, в которых стоянка дольше средней');   writeln('Населенный пункт  Прибытие  Стоянка,мин   Стоимость');   writeln(F2,'Населенный пункт  Прибытие  Стоянка,мин   Стоимость');   with r do     while not Eof(F) do     begin       read(F, r);       istop := hhmm2Int(stop);       if istop > cstop then       begin         writeln(station:18, '  ', arrival, '      ', stop, '       ', cost:7:2);         writeln(F2,station:18, '  ', arrival, '      ', stop, '       ', cost:7:2);       end;     end;   Close(F);   Close(F2) end. ВНИМАНИЕ: Прикрепленный файл на самом деле RAR-архив с двумя, используемыми в программе файлами. Нужно его скачать к себе и поменять расширение TXT на RAR, а затем распаковать.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы