Olá Alunos,
Hoje dando continuidade ao nosso conteúdo, iremos estuidar um pouco mais de C puro. Veremo os passos para utilização da sintaxe de Struct.
Esta declaração é semelhante ao conteúdo estudado em Pascal, quando utilizamos um tipo registro, então qualquer semelhança não é mera coincidência.
Em Pascal teríamos a seguinte sintaxe para utilização em vetor.
type pessoa = RECORD
nome: String;
idade:integer;
end;
…
var p:array[1..100]of pessoa;
O mesmo trecho de código poderia ser feito em C, utilizando struct, onde deveria residir dentro do corpo do método main().
int main(){
struct pessoa {
char nome[15];
int idade;
};
…..
struct pessoa p; // declaração da variável vetor do tipo Pessoa
A seguir é mostrado um exemplo conhecido, disponibilizado em vários blogs, que exemplifica a utilização de um vetor com tipo heterogêneos.
—————————————————–
No código abaixo foram declaradas duas estruturas. A primeira estrutura, NomeCompleto, contém as variáveis que compõem um nome e a segunda estrutura, Pessoa, contém a primeira estrutura e a variável idade.
Código:
int main(){
struct NomeCompleto {
char Primeiro[15];
char Meio[15];
char Sobrenome[15];
};
struct Pessoa {
struct NomeCompleto Nome;
int idade;
};
struct Pessoa Drausio;
printf(“Digite seu primeiro nome: “);
scanf(“%s”, &Drausio.Nome.Primeiro);
printf(“Digite seu nome do meio: “);
scanf(“%s”, &Drausio.Nome.Meio);
printf(“Digite seu sobrenome: “);
scanf(“%s”, &Drausio.Nome.Sobrenome);
printf(“Digite sua idade: “);
scanf(“%d”, &Drausio.idade);
printf(“Nome completo: %s %s %s\nIdade: %d anos\n”, Drausio.Nome.Primeiro, Drausio.Nome.Meio, Drausio.Nome.Sobrenome, Drausio.idade);
}
—————————————————–
Exercício.
1. Crie um programa em C, que leia as informações de nome, cargo e salário de um grupo de funcionários. A quantidade de funcionário é definida pelo usuário no início do programa. Ao final deverá ser apresentado todas as informações de cada funcionário e o total gasto com salario funcional.