Ver Mensaje Individual
  #8  
Antiguo 01-06-2007
Avatar de Nanaky
Nanaky Nanaky is offline
Miembro
 
Registrado: jun 2007
Posts: 10
Reputación: 0
Nanaky Va por buen camino
Vale ya he arreglado lo del IF y también he hecho un bucle dentro de
for j:=1 to nvuelos do para todas las instrucciones.

Ole, ya he conseguido que me pida las opciones, por haberle quitado el read (nvuelos) como decias,
Y como yo quería determinar el nvuelos lo he puesto antes del bucle. ahora funciona las veces que yo le diga.
Pongo de nuevo el codigo tal cual lo tengo ahora, porque ahora tengo que hacer el siguiente subprograma que es modificar los datos.
Código Delphi [-]
program Algoprueba3;

{$APPTYPE CONSOLE}

uses
  SysUtils;
Const MAXvuelos=100;

type
  t_fecha= record
    minuto:0..59;
    hora:0..23;
    dia:1..31;
    mes:1..12;
    anyo: 2000..2100;
  end;
  t_vuelo= record
    cod_vuelo: string[6];
    aero_salida: string[3];
    aero_llegada: string[3];
    pasajeros: integer;
    fecha_salida: t_fecha;
    fecha_llegada: t_fecha;
  end;
  t_index=1..MAXvuelos;
  t_lista_vuelos= array[1..MAXvuelos]of t_vuelo;

  var
  v1:t_lista_vuelos;
  nvuelos:integer;
  op:integer;
  procedure Leer_datos (VAR v1 : t_lista_vuelos; nvuelos:integer );
    VAR
      j: t_index;
      begin
        writeln ('Cuantos vuelos diferentes va a introducir?: ');
        readln (nvuelos);
        for j:=1 to nvuelos do
        begin
          writeln ('Escriba el codigo de vuelo(AAA111):  ');
          readln(v1[j].cod_vuelo);
          writeln ('Cual es el codigo del aeropuerto de salida?(AAA):  ');
          readln(v1[j].aero_salida);
          writeln ('Cual es el codigo del aeropuerto de llegada?(AAA):  ');
          readln(v1[j].aero_llegada);
          writeln ('Cuantos pasajeros hay en este vuelo?:  ');
          readln(v1[j].pasajeros);
          end;
      end;
   begin
      repeat

      writeln ('Escoja una de las siguentes opciones: ');
      writeln ('--------------------------------------');
      writeln ('1) Entrar datos');
      writeln ('2) Modificar los datos de vuelo por referencia');
      writeln ('3) Conocer la puntualidad de los vuelos');
      writeln ('4) Porcentajes de puntualidad segun fechas');
      writeln ('0) Salir');
      writeln;
      readln (op);
      writeln;
        if (op<0) or (op>4) then
            writeln('La opcion no es correcta, escoja otra opcion.');

      case op of

        1: Leer_datos (v1,nvuelos);

      end;
      until op=0;

end.

Muchas gracias por todo. A partir de media noche seguiré dándole vueltas al tema a ver como puedo hacer para modificar los datos según el codigo de vuelo, la cual es la opción 2.

Espero vuestras sugerencias e ideas para el subprograma: modificar!!

P.D. Aunque funciona correctamente, me dice que es posible que la variable nvuelos no se inicialice, como puedo depurar este error?
Responder Con Cita