hola nanaki vamos por partes, los integer no van entre cadenas solo se ponen los números por lo tanto debes modificar tu código:
Código Delphi
[-]
case op of
1: Leer_datos;
2: Modificar_datos;
3: Puntualidad;
4: Porcentaje;
end;
until op=0;
end.
ahora en el otro caso estás pasando la variable nro de vuelos entonces no necesitas volver a leer cuantas veces vas a leer solo bastar con hacer algo parecido a:
Código Delphi
[-]
procedure leer_datos (VAR v1 : t_lista_vuelos, nvuelos:entero);
VAR
j: integer;
begin
for j:=1 to nvuelos do
readln(v1[j].codigo_vuelo);
end;