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