Estructuras en C: Cómo Almacenar y Recorrer Datos con struct en Lenguaje C

Español4,22 KB

1. Almacenar información de una variable de estructura de 3 formas

En el siguiente código se muestran tres formas de almacenar y manipular información mediante una variable de estructura (struct) en lenguaje C.

Código de ejemplo

#include <conio.h>
#include <stdio.h>
#include <Windows.h>
#include <string.h>

main() {
    struct datos {
        char nombre[50];
        int edad;
        float altura;
        float peso;
    } persona;

    strcpy(persona.nombre, "Roberto");
    persona.edad = 18;
    persona.altura = 1.65;
    persona.peso = 62.2;

    printf("\nnombre: %s", persona.nombre);
    printf("\nedad: %d", persona.edad);
    printf("\naltura: %.2f", persona.altura);
    printf("\npeso: %.2f", persona.peso);
    printf("\n\n");

    system("pause");

    struct inf {
        char nombre[40];
        int edad;
        char genero;
        char categoria[25];
        char club[30];
        float tiempo;
    } corredor;

    printf("\nNombre: ");
    scanf(" %[^\n]", corredor.nombre);

    printf("\nedad: ");
    fflush(stdin);
    scanf("%d", &corredor.edad);

    printf("\ngenero: ");
    scanf("%c", &corredor.genero);

    printf("\ncategoria: ");
    scanf("%c", &corredor.categoria);

    printf("\nclub: ");
    scanf(" %[^\n]", corredor.club);

    printf("\ntiempo: ");
    scanf("%f", &corredor.tiempo);

    printf("\nnombre: %s", corredor.nombre);
    printf("\nedad: %d", corredor.edad);
    printf("\n\nsoy gay");
    printf("\n\n");

    system("pause");
}

14. Definir un arreglo de variable de estructura e inicializar las primeras 3 posiciones

En este ejemplo se define un arreglo de estructuras con capacidad para 10 alumnos, inicializando las primeras posiciones con sus datos y recorriendo el arreglo con un ciclo for.

main() {
    int i = 0;

    struct datos {
        int mat;
        char nombre[30];
        float colegiatura;
    } alumno[10] = {
        {456, "giovanni cabrera", 1200},
        {123, "cesar lozano", 1300},
        {789, "ramon garcia", 1400},
        {321, "diana muñoz", 2500},
        {987, "mauricio antonio", 1100},
    };

    for (i = 0; i < 5; i++) {
        printf("\nMatricula= %d", alumno[i].mat);
        printf("\nNombre= %s", alumno[i].nombre);
        printf("\nColegiatura= %f", alumno[i].colegiatura);
    }

    printf("\n\n");
    system("pause");
}

Descargar

PDF Word HTML