Pascal/Turbo Pascal - COMPAÑIA DE VUELOS

 
Vista:

COMPAÑIA DE VUELOS

Publicado por fabian (1 intervención) el 09/08/2019 01:26:36
AYUDA!!

Una compañía aérea que realiza vuelos Brasil- Arg, tiene en servicio 12 aviones.
Por cada viaje realizado completa una planilla con los siguientes datos:
· Código del avión ('A'.. 'L')
· Tiempo de vuelo (real)

Realizar un programa que permita el ingreso de los datos de la planilla (estos datos no
están ordenados y se desconoce la cantidad de vuelos realizado por cada avión) y
emita un listado ordenado en forma decreciente por tiempo total de vuelo de cada
avión, con su correspondiente código, como el siguiente:


CODIGO AVION------------ TIEMPO VUELO TOTAL
C------------------------------------------ 355.3
K------------------------------------------ 320.1
A------------------------------------------ 287.5
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder

COMPAÑIA DE VUELOS

Publicado por ranon (2158 intervenciones) el 10/08/2019 23:53:05
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
{Espero esto te ayude}
 
 program avion;
 uses
    crt;
 
  type
    vuelos = record
         codigo : char;
         tiempo : real;
       end;
 
  var
    te, temp, pres, servic : vuelos;
    f : file of vuelos;
    d : char;
    a, b : word;
 
 
    procedure entradadatos;
    begin
       clrscr;
       writeln('Entre Datos De La Plantilla');
       writeln;
       write('  Entre Codigo : ');readln(servic.codigo);
       write('  Entre Tiempo : ');readln(servic.tiempo);
       writeln;
       writeln('  Datos Correctos [S/N]');
       repeat
           d := upcase(readkey);
       until d in['S','N'];
    if d = 'S' then
    begin
      assign(f,'Vuelo.dat');
    {$I-} reset(f); {$I+}
    if ioresult <> 0 then
    begin
       rewrite(f);
       seek(f,0);
       write(f,servic);
       close(f);
    end
  else
     begin
        seek(f,filesize(f));
        write(f,servic);
        close(f);
     end;
    end
  else
     begin
       entradadatos;
     end;
    end;
 
   procedure presenta;
   begin
      temp.codigo := ' ';
      temp.tiempo := 44440.0;
       assign(f,'Vuelo.dat');
    {$I-} reset(f); {$I+}
    if ioresult <> 0 then
    begin
      writeln('  ERROR DE ARCHIVO O NO EXISTE');
      readkey;
    end
  else
     begin
       for a := 0 to filesize(f) - 1 do
       begin
          seek(f,a);
          read(f,temp);
          for b := a to filesize(f) - 1 do
          begin
             seek(f,b);
             read(f,pres);
             if pres.tiempo < temp.tiempo then
             begin
               te := temp;
               temp := pres;
               pres := te;
               seek(f,a);
               write(f,temp);
               seek(f,b);
               write(f,pres);
             end;
          end;
       end;
       for a := 0 to filesize(f) - 1 do
       begin
       seek(f,a);
       read(f,te);
       writeln(te.codigo,'      ',te.tiempo:0:2);
       end;
      close(f);
      readkey;
     end;
   end;
 
   procedure menu;
   var
     tecla : char;
     sal : boolean;
   begin
      sal := false;
    repeat
       clrscr;
       writeln('  ****** MENU JENERAL ******');
       writeln;
       writeln(' [1] = Entradas');
       writeln(' [2] = Presenta');
       writeln(' [3] =  Salir');
       writeln;
       writeln('  <<<< ELIJA OPCION >>>>');
     repeat
        tecla := readkey;
     until tecla in['1','2','3'];
     clrscr;
   case tecla of
  '1' :entradadatos;
  '2' :presenta;
  '3' : sal := true;
    end;
    until sal = true;
   end;
 
 
    begin
      menu;
    end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar