Los mejores cursos GRATIS © AulaFacil.com
  • [Entrada Profesores]
  • Certificaciones
  • [Mi AulaFácil]
domingo, 19 agosto 2018 español
Síguenos
Publica tu curso
¿Cómo Funciona AulaFácil?

Introducir y leer datos de la estructura

Veamos ahora como introducir los datos de todos los alumnos de forma sencilla y luego mostrar estos datos por pantalla. Para que el ejemplo no se haga tan extenso, hagamos un poco más pequeña la estructura, solo pondremos el nombre y la edad de cada alumno:

38-1

 

Una vez modificada la estructura vamos a la función main, donde crearemos un array de 3 alumnos e introduciremos todos sus datos. 

Como imaginaréis, lo ideal tanto para introducir datos como para leerlos es hacerlo a través de bucles, para no tener que repetir instrucciones. 

38-2

Lo primero, crear un array de 3 alumnos:

struct estructura_alumnos alumnos[3];  
Con esta instrucción tenemos dicho array. Ahora vamos a introducir los datos de todos los alumnos con un bucle for:
//Bucle para introducir todos sus datos
  for (int i = 0; i < 3; i++)
  {
           printf("Introduce nombre del alumno %i: ", i+1); 
           gets(alumnos[i].nombre); //gets lee incluso espacios en String
           printf("Introduce edad del alumno %i: ", i+1);
           scanf("%i", &alumnos[i].edad); //Recoge la edad
           while(getchar()!='\n'); //Bucle que vacía buffer de entrada
  }

 

El bucle tiene que ir desde 0 a 3. Y dentro del bucle pedimos al usuario que introduzca nombre y edad de los alumnos. 

 gets(alumnos[i].nombre); 

Utilizamos la función gets para introducir los nombres. Para acceder al alumno "i" se hace con los corchetes, como en cualquier array. Y luego ".", y detrás del punto escribimos el nombre de la variable de la estructura en la que queremos introducir el dato. En este caso sería ".nombre" y ".edad". 

Esta línea nos sirve para vaciar el buffer de entrada del programa:

while(getchar()!='\n');

Sin esta línea no funcionaría bien la inclusión de datos. Es necesario ponerla; para comprenderla hace falta saber más sobre C, pero ahora mismo no nos incumbe.

Ya tenemos la estructura con los datos introducidos por el usuario. Ahora solo nos queda leer los datos de todos los alumnos, de nuevo con un bucle for para recorrer todo el array.

//LEER LOS DATOS DE LOS ALUMNOS
       for (int i = 0; i < 3; i++)
  {
           printf("\nALUMNO %i \n", i+1); //Muestra numero de alumno
           printf("Nombre: %s\n", alumnos[i].nombre); //Nombre de dicho alumno
           printf("Edad: %i \n\n", alumnos[i].edad); //Edad de dicho alumno
           
   }
A través de los printf se muestran los datos como venimos haciendo durante todo el curso. Lo único que tenemos que saber es que para acceder a los datos hay que poner el "." detrás del array, seguido del nombre del dato que queramos leer.
Para que quede más bonito hemos puesto el número de alumno que está mostrando. Mostramos el alumno "i+1" para que no se muestre alumno 0, ya sabéis. 
 
El código del programa lo tenéis aquí:
 
 
Y el vídeo de muestra:
Leer estructura
Conoce al Autor/a:
  • Daniel Pozo Chichon   Contactar con el Autor
    Técnico en Desarrollo de Aplicaciones Informáticas (Grado superior)

    Tiene 2 contenidos
Gracias por compartir y gracias por enlazar la página
Compartir en Facebook
Acepto vuestra política de privacidad
Consentimiento Expreso para el tratamiento de datos de carácter personal recabados por vía electrónica (leer consentimiento)

¡Suscríbete GRATIS a nuestro boletín diario!:

Búsqueda personalizada
Existen nuevos mensajes en las siguientes salas de chat:

      Recibe gratis alertas en tu navegador, sin configuraciones ni registros. Más info...
      [No me interesa] | [Me Interesa]



      ¿Dudas? ¿Preguntas? Plantéalas en el foro
      Suscríbete Gratis al Boletín

      Escribir la dirección de Email:

      Acepto vuestra política de privacidad
      Consentimiento Expreso para el tratamiento de datos de carácter personal recabados por vía electrónica (leer consentimiento)

      Delivered by FeedBurner

      Destacamos
      Cargando datos...
      Buenos Artículos Diarios

      Sigue a AulaFácil en:

      Ránking Mundial Certificados
      Banner AulaFácil

      Este es un producto de AulaFacil S.L. - © Copyright 2009
      B 82812322 Apartado de Correos 176. Las Rozas 28230. Madrid (ESPAÑA)