Introdução a Programação em C – Aula 4

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.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *