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; }