Database program with option to print out all data added. program db; type a100 = array[1..20] of string; var owner, color, make, age, style:a100; used: integer; match, command: string; procedure load(var owner, color, make, age, style: a100; var used:integer); var i: integer; str: string; begin i := 0; writeln('Owner?'); readln(str); while length(str) > 0 do begin i := i + 1; writeln('Enter color, make, age, style.'); owner[i] := str; readln(color[i]); readln(make[i]); readln(age[i]); readln(style[i]); writeln('Owner?'); readln(str); end; used := i; end; procedure compare(var a, b, c, d, e, v, w, x, y, z, match:string); begin if ((a=v) or (a='?')) and ((b=w) or (b='?')) and ((c=x) or (c='?')) and ((d=y) or (d='?')) and ((e=z) or (e='?')) then begin match := 'yes'; end else begin match := 'no'; end; end; procedure find(var owner, color, make, age, style: a100; var used:integer); var i: integer; a, b, c, d, e, str: string; begin writeln('Enter owner, color, make, age, style.'); readln(a); readln(b); readln(c); readln(d); readln(e); i := 0; while i < used do begin i := i + 1; compare(a, b, c, d, e, owner[i], color[i], make[i], age[i], style[i], match); if match = 'yes' then begin writeln(owner[i]:10, color[i]:10, make[i]:10, age[i]:10, style[i]:10); end; end; end; procedure printall(var used:integer; var owner, color, make, age, style: a100); var i: integer; a, b, c, d, e, str: string; begin writeln('Printing entire database.'); i := 0; while i < used do begin i := i + 1; writeln(owner[i]:10, color[i]:10, make[i]:10, age[i]:10, style[i]:10); end; end; begin writeln('Command: l)oad, f)ind, a)ll, q)uit?'); readln(command); while command <> 'q' do begin if command = 'l' then begin load(owner, color, make, age, style, used); end; if command = 'f' then begin find(owner, color, make, age, style, used); end; if command = 'a' then begin printall(used, owner, color, make, age, style); end; writeln('Command: l)oad, f)ind, a)ll, q)uit?'); readln(command); end; end. Sample output: >Command: l)oad, f)ind, a)ll, q)uit? Owner? Enter color, make, age, style. Owner? Enter color, make, age, style. Owner? Enter color, make, age, style. Owner? Enter color, make, age, style. Owner? Enter color, make, age, style. Owner? Enter color, make, age, style. Owner? Enter color, make, age, style. Owner? < >Command: l)oad, f)ind, a)ll, q)uit? Printing entire database. > Clarke green Ford 92 4dr > Herbert green Chevy 91 2dr > Hogan blue Ford 93 4dr > Anthony green Chevy 93 4dr > Niven green Ford 91 van > Niven green Chevy 92 2dr > Gibson green Dodge 93 van >Command: l)oad, f)ind, a)ll, q)uit? Enter owner, color, make, age, style. Clarke green Ford 92 4dr > Niven green Ford 91 van >Command: l)oad, f)ind, a)ll, q)uit? Enter owner, color, make, age, style. Niven green Ford 91 van > Gibson green Dodge 93 van >Command: l)oad, f)ind, a)ll, q)uit?