Написать программу записи в файл и чтение из файла элементов массива структур для регистрации автомашин с полями: марка машины, год выпуска, цвет, номер. Организовать поиск по цвету машины.
Answers & Comments
alvadia
Вот пример записи в типизированный файл uses crt;
type car = record mark: string[64]; year: integer; colour: string[32]; number: string[12]; end;
var text_out: file of car; cars: array[1..1] of car; count,limit: integer; temp:car;
begin writeln('vvod'); assign(text_out, 'input.txt'); rewrite(text_out);
cars[1].mark := 'Lada Vesta bbb'; cars[1].year := 2000; cars[1].colour := 'красный'; cars[1].number := 'а111ааrus000'; write(text_out, cars[1]); writeln(''); readln(limit); for count:=1 to limit do begin writeln('Введите марку автомобиля'); readln(temp.mark); writeln('Введите год выпуска автомобиля'); readln(temp.year); writeln('Введите цвет автомобиля'); readln(temp.colour); writeln('Введите номер автомобиля'); readln(temp.number); write(text_out, temp); end; close(text_out); end.
И пример поиска в том же типизированном файле
uses crt;
type car = record mark: string[64]; year: integer; colour: string[32]; number: string[12]; end;
var text_in: file of car; temp: car; count: integer; mask: string;
begin writeln('Введите искомый цвет'); readln(mask); assign(text_in, 'input.txt'); reset(text_in); while not eof(text_in) do begin read(text_in, temp); if temp.colour = mask then begin write('Машина заданного цвета '); writeln(temp.mark); write(temp.year); writeln(' года выпуска'); write('Государственный знак номер '); writeln(temp.number); writeln(); end; end; end.
Можно и обычным текстовым файлом, но проще типизированным.
Answers & Comments
uses
crt;
type
car = record
mark: string[64];
year: integer;
colour: string[32];
number: string[12];
end;
var
text_out: file of car;
cars: array[1..1] of car;
count,limit: integer;
temp:car;
begin
writeln('vvod');
assign(text_out, 'input.txt');
rewrite(text_out);
cars[1].mark := 'Lada Vesta bbb';
cars[1].year := 2000;
cars[1].colour := 'красный';
cars[1].number := 'а111ааrus000';
write(text_out, cars[1]);
writeln('');
readln(limit);
for count:=1 to limit do begin
writeln('Введите марку автомобиля');
readln(temp.mark);
writeln('Введите год выпуска автомобиля');
readln(temp.year);
writeln('Введите цвет автомобиля');
readln(temp.colour);
writeln('Введите номер автомобиля');
readln(temp.number);
write(text_out, temp);
end;
close(text_out);
end.
И пример поиска в том же типизированном файле
uses
crt;
type
car = record
mark: string[64];
year: integer;
colour: string[32];
number: string[12];
end;
var
text_in: file of car;
temp: car;
count: integer;
mask: string;
begin
writeln('Введите искомый цвет');
readln(mask);
assign(text_in, 'input.txt');
reset(text_in);
while not eof(text_in) do
begin
read(text_in, temp);
if temp.colour = mask then
begin
write('Машина заданного цвета ');
writeln(temp.mark);
write(temp.year);
writeln(' года выпуска');
write('Государственный знак номер ');
writeln(temp.number);
writeln();
end;
end;
end.
Можно и обычным текстовым файлом, но проще типизированным.