Está en la página 1de 1

Manejo de Arreglos dentro de Estructuras / Registros en VB 2010

Ejercicio: Cree una estructura que almacene el nombre, la cédula y las 10 preguntas
respondidas (una letra por pregunta), por un estudiante.

La forma que generalmente usamos para responder lo anterior es:

Structure Estudiante
Dim cedula As Integer
Dim nombre As String
Dim preguntas(10) As Char
End Structure

Al intentar crear un campo o miembro de una estructura en forma de arreglo (en el caso de
preguntas(10)), con un tamaño inicial de 10, se presenta el siguiente error de compilación:
“Las matrices declaradas como miembros de estructura no se pueden declarar con un
tamaño inicial.”
Este error está explicado en internet, en el enlace: http://msdn.microsoft.com/en-
us/library/tey4z3ca.aspx. En este enlace aparece la descripción de este error y la forma de
resolverlo.

Básicamente lo que tenemos que hacer es declarar a preguntas como un arreglo dinámico (sin
tamaño inicial) y antes de asignarle valores lo dimensionamos usando ReDim. Ejemplo:

Structure Estudiante
Dim cedula As Integer
Dim nombre As String
Dim preguntas() As Char
End Structure

Y en el subprograma principal o en donde vayamos a hacer uso de la estructura, colocamos el


tamaño necesario, por ejemplo:

Sub Main()
Dim participante As Estudiante
ReDim participante.preguntas(10) ‘Para cada variable de tipo Estudiante

participante.preguntas(1)=”c”

End Sub

En conclusión, si tuviéramos un arreglo de elementos de tipo Estudiante, tenemos que


dimensionar a cada elemento antes de usarlo, ya sea una asignación o lectura, ejemplo:

Dim participantes(50) As Estudiante


For i=1 to 50
ReDim participantes(i).preguntas(10)
Next

Prof. Carlos Brito – Junio 2011

También podría gustarte