Pascal/Turbo Pascal - Duda con procedimiento y arreglo bidimensional

 
Vista:
Imágen de perfil de Jorge

Duda con procedimiento y arreglo bidimensional

Publicado por Jorge (11 intervenciones) el 08/08/2014 12:19:46
Buenas
Es una consulta muy grande
Es un programa que recopila datos de 5 estudiantes y de este saca el promedio de notas*

Este tiene que desplegar un menú
la primera opcion dice:

"En caso de que el usuario seleccione la opción 1 del menú, el sistema debe solicitar al
usuario (Debe almacenarse en un vector bidimencional, que para este caso,
almacenará hileras de caracteres), esta opción debe ser programada en un
procedimiento, el cual será el encargado de administrar el vector:"

1. Número de Carné del Estudiante.
2. Nombre del Estudiante.
3. Cuatrimestre.
4. Nombre del Curso.

ENTONCES
para esta primera opcion necesito un procedimiento que administre el siguiente vector bidimensional:

______ /Número de Carné del Estu./Nombre del Estudiante/Cuatrimestre/Nombre del Curso/
Alumno1 / ____________________________ / ___________________ / ________________ /________________ /
Alumno2/ ____________________________ / ___________________ / ________________ /________________ /
Alumno3 / ____________________________ / ___________________ / ________________ /________________ /
Alumno4/ ____________________________ / ___________________ / ________________ /________________ /
Alumno5/____________________________ / ___________________ / ________________ /________________ /

sé que se utilizaria algo asi como "var alumnos:array[1..5,1..4] of string; " en el procedimiento(procedure), pero no se como programarlo para que me pida por pantalla cada uno de los 4 datos y se guarden en dicho arreglo, tambien para despues mostra por pantalla los datos de cada alumno.

Asi que si no es mucha molestia me pueden guiar con esta duda, les estaria sumamente agradecido.
saludos.
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
sin imagen de perfil

Duda con procedimiento y arreglo bidimensional

Publicado por Rene Gar (58 intervenciones) el 09/08/2014 03:02:09
hice este codigo rapido no es muy estetico eso lo arreglas tu pero funciona con lo minimo

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
var
  i:integer;
  datos:array[1..5,1..4]of string;
begin
 
  for i:=1 to 5 do
  begin
        Writeln('Ingrese numero de Carne del estudiante: ',i);
        readln(datos[i][1]);
        Writeln('Ingrese nombre del estudiante: ',i);
        readln(datos[i][2]);
        Writeln('cuatrimiestre del estudiante : ',i);
        readln(datos[i][3]);
        Writeln('Nombre del curso del estudiante: ',i);
        readln(datos[i][4]);
        writeln();
  end;
 
  writeln('/Numero de Carne del Estu./Nombre del Estudiante/Cuatrimestre/Nombre del Curso/');
  for i:=1 to 5 do
  begin
       writeln('Alumno ',i,datos[i][1]+' ',datos[i][2]+' ',datos[i][3]+' ',datos[i][4]);
  end;
 
  readln;
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
Imágen de perfil de Jorge

Duda con procedimiento y arreglo bidimensional

Publicado por Jorge (11 intervenciones) el 09/08/2014 10:31:32
Muchisimas gracias
me quedo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure Infoestudiante;
var i:integer; Alumnos:array[1..5,1..4] of string;
begin
   for i:=1 to 5 do
   begin
       Writeln('Ingrese numero de Carne del estudiante: ',i);
       readln(Alumnos[i][1]);
       Writeln('Ingrese nombre del estudiante: ',i);
       readln(Alumnos[i][2]);
       Writeln('cuatrimiestre del estudiante : ',i);
       readln(Alumnos[i][3]);
       Writeln('Nombre del curso del estudiante: ',i);
       readln(Alumnos[i][4]);
       writeln();
   end;
end;

son esas dudas que uno no se las saca xD gracias por tomarte el tiempo de responder.
saludos
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

Duda con procedimiento y arreglo bidimensional

Publicado por ramon (39 intervenciones) el 11/08/2014 00:25:00
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
{Mira esto te ayudara}   program arreglos;
   uses
      crt;
   const
      estudiantes = 5;
   type
      ficha = record
            Numero : longint;
            Nombre : string;
            Cuatri : integer;
             Curso : string;
          end;
 
   var
     datos : array[1..estudiantes] of ficha;
     cont : integer;
 
 
   procedure entradas(var n : integer);
   begin
      clrscr;
      writeln('  ***** Entrada Datos Estudiantes *****');
      writeln;
      with datos[n] do
      begin
      write('  Entre Num. Carne Estudiante : ');
      readln(Numero);
      write('  Entre Nombre del Estudiante : ');
      readln(Nombre);
      write('  Entre Cuatrimestre          : ');
      readln(Cuatri);
      write('  Entre Nombre del Curso      : ');
      readln(Curso);
      n := n + 1;
      if n > estudiantes then
      n := estudiantes;
      end;
   end;
 
   procedure muestra_datos;
   var
      h : integer;
   begin
      clrscr;
      h := 1;
      gotoxy(10,2);write('   ******* Datos De Los Estudiantes *******');
      gotoxy(10,4);write('Numero     Nombre             Cuatrimestre  Curso');
      while h < cont do
      begin
         with datos[h] do
         begin
           gotoxy(10,4 + h);write(Numero);
           gotoxy(21,4 + h);write(Nombre);
           gotoxy(40,4 + h);write(Cuatri);
           gotoxy(54,4 + h);write(Curso);
         end;
         h := h + 1;
      end;
       readkey;
   end;
 
   procedure menu;
   var
     sal : boolean;
     tecla : char;
   begin
       sal := false;
     repeat
         clrscr;
         writeln('  **** Menu Jeneral ****');
         writeln;
         writeln('  1 = Entrada Datos Estudiantes');
         writeln('  2 = Mostrar Datos Estudiantes');
         writeln('  3 = Salir');
         writeln;
         writeln('  <<< Elija Opcion >>>');
         repeat
            tecla := readkey;
         until tecla in['1','2','3'];
         clrscr;
    case tecla of
  '1' : entradas(cont);
  '2' : muestra_datos;
  '3' : sal := true;
    end;
     until sal = true;
   end;
 
 
   begin
       cont := 1;
       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