Este programa permite incluir registros de veículos (placa, marca, ano) em um arquivo sequencialmente. Ele verifica se o veículo já está cadastrado antes de adicioná-lo e permite apenas anos entre 0 e 2012.
1. INCLUSÃO SEQUENCIAL
program inclui_sequencial;
uses crt;
type carro = record
placa : string
marca : string
ano : integer
end;
frota = file of carro;
var
detran : frota;
carros : carro;
placa : string;
marca : string;
ano, k, i : integer;
achou : boolean;
begin
clrscr;
assign(detran, ‘carros.dat’);
reset(detran);
k := filesize(detran);
writeln(‘digite a placa a ser incluída’);
readln(placa);
writeln(‘digite a marca a ser incluída’);
readln(marca);
writeln(‘digite o ano a ser incluído’);
readln(ano);
while( (ano<0) or (ano>2012) ) do
readln(ano); //fim do while
if(k=0) then
begin
carros.placa := placa;
carros.marca := marca;
carros.ano := ano;
write(detran, carros);
writeln(‘carro incluído’);
end //fim do if
else
begin
i := 0;
achou := false;
while(i<=(k-1)) do
begin
read(detran, carros);
if(carros.placa = placa) then
2. begin
achou := true;
i := k+1;
end
else
begin
i := i+1;
seek(detran, i);
end;
end; //fim do while
if(achou := true) then
begin
writeln(‘este carro já está cadastrado’);
end //fim do if
else
begin
seek(detran, k);
carros.placa := placa;
carros.marca := marca;
carros.ano := ano;
write(detran, carros);
writeln(‘carro incluído’);
end; //fim do else
end; //fim do else
close(detran);
readkey;
end. //fim do programa