База данных в Pascal...
Формулировка задачи:
Решение задачи: «База данных в Pascal...»
Program baza; Uses crt; label 10; type spisok=record vt:string; nm:string; dvm:string; no:string; ko:string; vvp:string; p:string; end; FT= file of spisok; Var a:ft; i,z:integer; s:real; Procedure Sozd (var a:ft); Var i,j:integer; zk:spisok; begin rewrite (a); j:=1; while j<>80 do begin write ('vid transporta: '); readln (zk.vt); write ('nomer marshryta: '); readln (zk.nm); write ('data v-v marshryta: '); Readln (zk.dvm); write ('na4alna9 ostanovka: '); readln (zk.no); write ('kone4na9 ostanovka: '); readln (zk.ko); write ('vrem9 v pyti: '); readln (zk.vvp); write ('prime4anie: '); readln (zk.p); write (a,zk); writeln ('Esli konec zapisi to nazhmite 80 '); readln (j); end; close (a); end; Procedure vyvod (var a:ft); Var i:integer; zk:spisok; begin reset (a); writeln ('================================='); writeln ('| vid transporta| nomer transporta| data v-v marshryta| n. ostanovka| k. ost| vrem9 v pyti| prime4anie|'); writeln ('================================='); while not eof(a) do begin read (a,zk); write ('|',zk.vt:6,'|'); write ('|',zk.nm:9,'|'); write ('|',zk.dvm:6,'|'); write ('|',zk.no:9,'|'); write ('|',zk.ko:6,'|'); write ('|',zk.vvp:9,'|'); write ('|',zk.p,'|'); writeln; writeln ('-------------------------------'); end; close (a); end; procedure delete (var a:ft); Var n,m:longint; i:byte; mas:array [1..20] of spisok; begin i:=1; reset(a); writeln ('vvedite nomer zapisi dlja udalenija '); readln(n); m:=filesize(a)-n; seek (a,n); while not eof(a) do begin read (a,mas[i]); i:=i+1; end; close (a); reset (a); seek (a,n-1); truncate (a); close (a); reset (a); seek (a,n-1); for i:=1 to m do write (a,mas[i]); end; Procedure poisk (var a:ft); var i:integer; zk:spisok; name:string; begin reset (a); writeln ('Vvedite imja dlja poiska '); readln (name); writeln ('spisok s zadannym imenem '); writeln ('======================================================================================================='); writeln ('| vid transporta| nomer transporta| data v-v marshryta| n. ostanovka| k. ost| vrem9 v pyti| prime4anie|'); writeln ('======================================================================================================='); while not eof(a) do begin read (a,zk); if zk.vt=name then begin write ('|',zk.vt:6,'|'); write ('|',zk.nm:9,'|'); write ('|',zk.dvm:6,'|'); write ('|',zk.no:9,'|'); write ('|',zk.ko:6,'|'); write ('|',zk.vvp:9,'|'); write ('|',zk.p,'|'); writeln; writeln ('--------------------------------------------------------------------------------------------------------'); end; end; close(a); end; begin clrscr; 10: assign (a,'fff'); writeln (' MEHIO '); writeln ('1:cozdanie '); writeln ('2:vyvod '); writeln ('3:delete '); writeln ('4:poisk '); writeln ('5:vyxod '); readln (z); case z of 1:sozd(a); 2:vyvod (a); 3:delete(a); 4:poisk (a); 5:exit; end; goto 10; readln end.
Объяснение кода листинга программы
Этот код представляет собой программу на языке Pascal, которая использует базу данных в формате файла. Программа содержит три процедуры: Sozd, Vyvod и Poisk. Процедура Sozd открывает файл базы данных, записывает в него информацию о транспорте и затем закрывает файл. В процессе записи в файл выводятся запрошенные данные. Процедура Vyvod открывает файл базы данных, считывает из него информацию о транспорте и выводит ее на экран. Процедура Poisk открывает файл базы данных, считывает из него информацию о транспорте с заданным именем и выводит эту информацию на экран. Также в коде присутствует процедура Delete, которая удаляет из базы данных определенный транспорт. Программа также содержит процедуру Exit, которая завершает работу программы. В конце программы приводится приглашение для ввода номера действия и цикл, который продолжается до тех пор, пока введенный номер действия не будет равен 5.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д