Pascal/Turbo Pascal - Ayuda con un programa de listas en turbo pascal, por favor

 
Vista:

Ayuda con un programa de listas en turbo pascal, por favor

Publicado por Mery (5 intervenciones) el 05/06/2013 06:12:28
Ayuda o asesoría con un programa de listas en turbo pascal, necesito q el programa pueda visualizar una lista de 15 estudiantes especificos en una sección de clases d una universidad, localizar sus calificaciones o promedio de la seccion por medio de, nombres o cedulas, por favor ayuda. Al menos una idea, Los estudiantes serian en este caso:
Nombre. Apellido. Cédula. Calificacion
Lore Diaz. 22888478. 16
Ramon . Barreto. 23568984. 18
Luis Delgado. 24589631. 18
Marcos herrera. 23541863. 16
Naza Osorio. 24239515. 14
Maria Carri. 23589644. 19
Harry La 'Posta. 19542888. 10
Renzo Rodri. 25841396. 16
Maguil Camero 23568474 08
Jesus. Bolivar 22888891 14
Junior Lugo 21946444 12
Andrea Arias 23569414. 11
Carlos Saez 13464445 . 15
Kelly Barrios 22649778 . 13
Noheli Punce 24649464 14


Por favor ayudenme, expliquenme alguien por favor, gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con un programa de listas en turbo pascal, por favor

Publicado por ramon (2158 intervenciones) el 05/06/2013 14:08:47
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
131
132
133
134
135
{A ver si esto te orienta}
 
program listaest;
  uses
     crt;
   type
       regdato = record
             nombre : string;
             cedula : longint;
             califi : real;
           end;
 
   const
   n = 15;
   datos : array[1..n] of regdato = (
   (nombre : 'Lore Diaz';cedula : 22888478; califi : 16),
   (nombre : 'Ramon Barreto'; cedula : 23568984;califi : 18),
   (nombre : 'Luis Delgado';cedula : 24589631;califi : 18),
   (nombre : 'Marcos herrera';cedula : 23541863;califi : 16),
   (nombre : 'Naza Osorio';cedula : 24239515;califi : 14),
   (nombre : 'Maria Carri';cedula : 23589644;califi : 19),
   (nombre : 'Harry La Posta';cedula : 19542888;califi : 10),
   (nombre : 'Renzo Rodri';cedula : 25841396;califi : 16),
   (nombre : 'Maguil Camero';cedula : 23568474;califi : 08),
   (nombre : 'Jesus Bolivar';cedula : 22888891;califi : 14),
   (nombre : 'Junior Lugo';cedula : 21946444;califi : 12),
   (nombre : 'Andrea Arias';cedula : 23569414;califi : 11),
   (nombre : 'Carlos Saez';cedula : 13464445;califi : 15),
   (nombre : 'Kelly Barrios';cedula : 22649778;califi : 13),
   (nombre : 'Noheli Punce';cedula : 24649464;califi : 14));
 
  var
     f : file of regdato;
     dat : regdato;
     cont : longint;
     x : integer;
 
   procedure cargadatos(cuales : char);
   begin
      if upcase(cuales) = 'C' then
      begin
         assign(f,'Estudian.dat');
         rewrite(f);
         for cont := 0 to n - 1 do
         begin
            seek(f,cont);
            write(f,datos[cont + 1]);
         end;
         close(f);
      end
    else
      begin
         assign(f,'Estudian.dat');
      {$I-} reset(f); {$I+}
      if ioresult <> 0 then
      begin
        rewrite(f);
        seek(f,0);
        write(f,dat);
        close(f);
      end
    else
       begin
          seek(f,filesize(f));
          write(f,dat);
          close(f);
       end;
     end;
   end;
 
  procedure busca(como : char);
  var
     num : longint;
     tomo, nom : string;
  begin
      if upcase(como) = 'N' then
      begin
         write('   Entre Numero Cedula : ');
         readln(num);
      end
    else
       begin
          write('  Entre Nombre : ');
          readln(nom);
          for x := 1 to length(nom) do
          begin
          nom[x] := upcase(nom[x]);
          end;
       end;
        assign(f,'Estudian.dat');
      {$I-} reset(f); {$I+}
      if ioresult <> 0 then
      begin
         writeln('   Error De Archivo Pulse Una Tecla');
         readkey;
     end
   else
      begin
       for cont := 0 to filesize(f) - 1 do
       begin
          seek(f,cont);
          read(f,dat);
             if upcase(como) <> 'N' then
             begin
             tomo := copy(dat.nombre,1,length(dat.nombre));
             for  x := 1 to length(tomo) do
                tomo[x] := upcase(tomo[x]);
              end;
          if upcase(como) = 'N' then
          begin
          if dat.cedula = num then
          begin
             writeln('  La Calificacion es : ',dat.califi:0:2);
             break;
          end;
         end
        else
           if tomo = nom then
           begin
             writeln('  La Calificacion es : ',dat.califi:0:2);
             break;
           end;
       end;
      close(f);
      writeln;
      writeln('    Pulse Una Tecla');
      readkey;
    end;
  end;
 
   begin
       clrscr;
       cargadatos('c');
       busca(' ');
   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

Ayuda con un programa de listas en turbo pascal, por favor

Publicado por Mery (5 intervenciones) el 05/06/2013 20:42:46
Muchas gracias, pero una pregunta como puedo integrar q trabaje con punteros y nodos el programa? Y porq en el primer procedimiento en el for, se coloca -1? como funciona el -1 ?? Es q debo explicar el programa luego, y de verdd m gustaria entender bn, y muchas gracias otra vez ya tngo mas claro que hare,
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