aula 168

Como preencher uma STRUCT com dados lidos do teclado?

Na aula anterior do nosso curso de programação C nós aprendemos como criar novos tipos de dados com TYPEDEF STRUCT. Nesta aula veremos como preencher uma STRUCT com dados lidos do teclado.

Uma struct é uma variável como qualquer outra. A diferença é que internamente ela possui diversos campos com tipos primitivos.

Para preencher uma struct com informações lidas a partir do teclado, o processo de leitura (do teclado) permanece o mesmo. A única alteração é que agora precisamos informar qual campo da struct estamos lendo.

Por exemplo, se pedimos para o usuário digitar sua idade, ao fazer a leitura com a função scanf precisamos indicar o campo idade da variável struct, assim:

    printf("Digite sua idade: ");
    scanf("%d", &pessoa.idade); // pessoa é uma variável do tipo Pessoa

Código de exemplo em C para preencher uma variável do tipo Pessoa lida a partir do teclado

#include <stdio.h>
#include <stdlib.h>

/*
      Aula 168: Como criar uma struct com dados lidos do teclado

      Escrito por Wagner Gaspar
      Março de 2021
/*

typedef struct{
    int idade;
    char sexo;
    char nome[100];
}Pessoa;

int main() {
    Pessoa pessoa;

    printf("Digite se nome: ");
    fgets(pessoa.nome, 100, stdin);
    printf("Digite sua idade: ");
    scanf("%d", &pessoa.idade);
    scanf("%c");
    printf("Digite f ou m para o sexo:");
    scanf("%c", &pessoa.sexo);

    printf("Nome: %s\nIdade: %d\nSexo: %c\n", pessoa.nome, pessoa.idade, pessoa.sexo);

    return 0;
}

Deixe um comentário

três + 13 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.