Buscar

Aula 6 - Estruturas e Union

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação Estruturada II
Aula 6 – Estruturas e Union.
Prof: Efrem Lousada
efrem.lousada@anhanguera.com
plainit.co/u/efrem
Sumário
Prof: Efrem Lousada 2
1. Conceito de struct
2. Sintaxe em C
3. Vetor de struct
4. Exercícios
Conceito de struct
Prof: Efrem Lousada 3
Vetores e matrizes 
• Estruturas de dados homogêneas 
• Armazenam vários valores, mas todos de um mesmo tipo 
(todos int, todos double, todos float, todos char) 
Problemas reais 
• Temos coleções de dados que são de tipos diferentes
• Exemplo: ficha de um cadastro de cliente
– Nome: string 
– Endereço: string 
– Telefone: string 
– Salário: float
– Idade: int
Conceito de struct
Prof: Efrem Lousada 4
Registro (ou struct) 
• Tipo de dado estruturado heterogêneo 
– Coleção de variáveis referenciadas sobre um mesmo 
nome 
• Permite agrupar dados de diferentes tipos numa 
mesma estrutura (ao contrário de matrizes que 
possuem elementos de um mesmo tipo) 
– Cada componente de um registro pode ser de um tipo 
diferente (int, char, ...) 
– Estes componentes são referenciados por um nome 
Conceito de struct
Prof: Efrem Lousada 5
Registro (ou struct) 
• Os elementos do registro 
– São chamados de campos ou membros da struct
• É utilizado para armazenar informações de um 
mesmo objeto 
– Exemplos: carro cor, marca, ano, placa, chassi pessoa 
nome, idade, endereço
Conceito de struct
Prof: Efrem Lousada 6
Campo (Field) 
• Conjunto de caracteres com o mesmo significado
• Exemplo: nome 
Registro (Record) 
• Conjunto de campos relacionados 
• Exemplo: nome, endereço, telefone, salário e idade de 
uma pessoa
Sintaxe na Linguagem C
Prof: Efrem Lousada 7
A palavra reservada struct indica ao compilador que está 
sendo criada uma estrutura 
Uma estrutura deve ser declarada após incluir as bibliotecas e 
antes do main
struct nome_estrutura {
tipo nome_da_variável;
tipo nome_da_variável;  elem. da estrutura
....
} variáveis da estrutura;
Sintaxe na Linguagem C
Prof: Efrem Lousada 8
Por exemplo um struct endereço que guarda os 
elementos nome, rua, cidade, estado e cep: 
struct endereco { 
char nome[30]; 
char rua[40]; 
long int cep;
}; 
Foi feita apenas a declaração da struct, ainda não foi 
criada nenhuma variável da struct endereço 
O comando para declarar uma variável com esta struct é: 
struct endereco info_end;
Sintaxe na Linguagem C
9
Para acessar os campos da struct
• Utiliza-se o nome da variável struct, seguido de 
ponto,seguido do nome do campo 
• Por exemplo: info_end.cep = 2;
Se o compilador C for compatível com o padrão C ANSI
– Informação contida em uma struct pode ser atribuída a outra struct do 
mesmo tipo 
– Não é necessário atribuir os valores de todos os elementos/campos 
separadamente . Por exemplo: 
info_end = info_end2;
– Todos os campos de info_end receberão os valores correspondentes 
dos campos info_end2
struct endereco { 
char nome[30]; 
char rua[40]; 
long int cep;
}info_end, info_end2; 
Sintaxe na Linguagem C
Prof: Efrem Lousada 10
Exemplo
struct aluno { 
char nome[40]; 
float P1; 
float P2; 
float T; 
int faltas;
};
main() { 
struct aluno joao, maria; 
joao.P1 = 9.5; 
joao.P2 = 8.5; 
joao.T = 9.0; 
joao.faltas = 4; 
maria = joao; 
} 
Vetor de struct
Prof: Efrem Lousada 11
O uso mais comum de struct é em vetores 
Para declarar um vetor de struct
• Define-se a struct
• Declara-se o vetor do tipo struct criado 
Exemplo: 
struct aluno Turma380[28]; 
struct endereco vetorEndAmigos[100]; 
Vetor de struct
Prof: Efrem Lousada 12
Para manipular os dados do vetor, devem ser 
fornecidos o índice e o campo 
Exemplos:
strcpy(Turma380[0].nome, “Fulano”);
Turma380[0].P1 = 9.5; Turma380[0].P2 = 8.5; 
Turma380[0].T = 9.0; Turma380[0].faltas = 4; 
strcpy(vetorEndAmigos[0].rua, “Carlos Gomes”); 
strcpy(vetorEndAmigos[1].rua, “Goethe”); 
Vetor de struct
Prof: Efrem Lousada 13
Exemplo:
struct endereco{ 
char nome[30]; 
char rua[40]; 
char cidade[20]; 
char estado[3]; 
long int cep; 
}; 
main() { 
struct endereco info_end[100]; 
// Imprime todos os nomes do vetor 
for(int i = 0; i < 100; i++) 
printf(“%s”, info_end[i].nome); 
} 
Exercícios
Prof: Efrem Lousada 14
1) Criar uma estrutura chamada DadosAluno, que armazena a média e
idade de um aluno. Na função main: criar uma variável que é uma
estrutura DadosAluno; ler a média e a idade de um aluno e
armazenar na variável criada; exibir na tela a média e a idade do
aluno.
2) Considerando o exercício 1, criar uma variável que é um vetor da
estrutura DadosAluno. O programa deve obter a média e a idade de
10 alunos. Depois, estes dados devem ser exibidos.
Exercícios
Prof: Efrem Lousada 15
3) Fazer um programa que cria uma estrutura livro, que contém os
elementos título, ano de edição, número de páginas e preço. Criar
uma variável desta estrutura que é um vetor de 5 elementos. Ler os
valores para a estrutura e imprimir a média do número de páginas do
livros.
4) Foi realizada uma pesquisa entre 500 habitantes de uma certa região.
De cada habitante foram coletados os dados: idade, sexo, salário e
número de filhos. Crie a estrutura de dados adequada para
armazenar estas informações e faça uma função que armazene as
informações digitadas pelo usuário na estrutura de dados criada.
Faça também uma função que calcula a média do salário dos
habitantes.
Fim,
Obrigado!
Prof: Efrem Lousada 16

Continue navegando