1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code]. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
program poezda; uses crt; type train=record nazv:string[20]; nom:string; time:string; end; var i:byte; trains:file of train; rab:train; flag:boolean; reis:string[30]; key:0..4; punn:string; procedure vvod; begin clrscr; with rab do begin write('Название пункта: ');readln(nazv); if nazv='9999' then exit; write(' Номер рейса : ');readln(nom); write('Время отправки ');readln(time); end; end; procedure vivod; begin with rab do begin reis:=nazv+' '+nom+' '+time; writeln (nazv:10,nom:15,time:16); end; end; procedure form; {Ввод} begin rewrite(trains); i:=1; vvod; while rab.nazv<>'9999' do begin write (trains,rab); i:=i+1; vvod end; close(trains) end; procedure print; {Вывод} begin reset(trains); writeln('---------------------------------------------'); writeln('I Пункт I Номер I Время I'); writeln('---------------------------------------------'); while not eof (trains) do begin read(trains,rab); vivod; end; writeln('--------------------------------------------'); readkey; close(trains); end; procedure poisk; {поиск} begin write('Введите время ');readln(punn); reset(trains); writeln('-----------------------------------------------'); writeln(' Пункт I Номер I Время '); writeln('-----------------------------------------------'); if punn=rab.time then begin writeln(' ',rab.nazv, ' ',rab.nom,' ', punn ) end else writeln ('Таких поездов нет'); writeln('----------------------------------------------'); readkey; close(trains) end;
begin flag:=false; assign(trains,'Поезд'); repeat clrscr; writeln('Выберите пункт меню: '); writeln; writeln('1: сформировать массив '); writeln('2: вывод массива '); writeln('3: поиск записи '); writeln('0: выход '); readln (key); case key of 1:form; 2:print; 3:poisk; 0:flag:=true; end; until flag; end.
он ищет только в последней записи в массиве помогите сделать чтобы искал по всему массиву.