[et_pb_section fb_built=»1″ _builder_version=»3.22″][et_pb_row _builder_version=»3.25″ background_size=»initial» background_position=»top_left» background_repeat=»repeat»][et_pb_column type=»4_4″ _builder_version=»3.25″ custom_padding=»|||» custom_padding__hover=»|||»][et_pb_text _builder_version=»4.4.6″ background_size=»initial» background_position=»top_left» background_repeat=»repeat» hover_enabled=»0″]
Después de programar vectores y matrices para almacenar varios tipos de datos, ahora nos toca el turno de las estructuras, que es un paso más avanzado para almacenar los datos de manera estructurado, limpio y claro. En el ejercicio que pondre adelante, vamos a realizar un programa que almacene en una estructura los datos de un alumno y las notas de 4 asignaturas.
Para definir una estructura en C podemos realizar la siguiente secuencia de código antes del programa principal:
struct asignaturas {
float programacion;
float sistemas;
float fol;
float redes;
} sAsignaturas;
Con la estructura anterior, si desde el programa principal queremos almacenar el dato float de la variable programacion, tendriamos que referenciarlo de la siguiente manera:
// Definimos primero la estructura en la parte principal del programa
sAsignaturas asig;
asig.programacion = 5.6;
De esta manera almacenamos en la variable «programacion» de la estructura asignaturas, el valor 5.6 que es un float. Imaginaros la potencia que tiene las estructuras, ahora pasando de la teoría a la practica, imaginaros que ahora queremos una estructura que almacene el nombre y apellido de un alumno y esas 4 notas, la forma más coherente de realizarlo con estructuras en C sería:
typedef struct asignaturas {
float programacion;
float sistemas;
float fol;
float redes;
} sAsignaturas;
typedef struct alumnos {
char Nombre[60];
char Apellidos[150];
sAsignaturas asign;
} sAlumnos;
Si ahora nos vamos al programa principal y hacemos lo mismo que anteriormente para meter un dato en la variable «fol» del alumno Eduardo Urrea, seria de la siguiente manera:
sAlumnos alum;
alum.Nombre = "Eduardo";
alum.Apellidos = "Urrea";
alum.asign.fol = 5.5;
Y si ahora ya le metemos la posibilidad de que sea un vector de varios alumnos, imaginaros la potencia que nos da esto… por ejemplo:
sAlumnos alum[10];
alum[0].Nombre = "Eduardo";
alum[0].Apellidos = "Urrea";
alum[0].asign.fol = 5.6;
alum[1].Nombre = "Francisco";
alum[1].Apellidos = "Perales";
alum[1].asign.fol = 5.6;
Supongo que después de lo ultimo expuesto, podeis haceros una idea de lo que se puede llegar a realizar con estructuras y ARRAYs, de momento os voy a dejar un ejemplo realizado de una aplicación que almacena 10 alumnos con sus notas, y después se pude hacer busquedas o imprimir el total de alumnos con sus notas. Espero que os sirva de ayuda.
Descargar: CÓDIGO FUENTE EJEMPLO[/et_pb_text][/et_pb_column][/et_pb_row][/et_pb_section]