Buscar

Exercicio 1 - Structs

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

Prévia do material em texto

Algoritmos e Estruturas de Dados 1
Lista de Exercícios 5
Professor Paulo Gomide
Parte Teórica
1. Explique o que são estruturas complexas heterogêneas ou estruturas compostas heterogêneas.
Qual é a forma básica de utilização dessas estruturas em C?
2. Apresentando a sintaxe correta, explique como são declaradas estruturas complexas heterogêneas
em C.
3. A utilização de structs é um artifício muito importante na linguagem C.
(a) Descreva as características e a finalidade das structs.
(b) Quais as vantagens de se usar structs em um programa?
4. É possível implementar um programa qualquer sem a utilização de nenhuma struct? Se a resposta
for afirmativa, aponte então qual a importância da utilização de structs, especialmente em sistemas
de grande porte?
Parte Prática
1. Existem diversas aplicações onde a manutenção de uma lista de itens é muito importante.
Simulando uma aplicação que poderia ser utilizada em um estabelecimento comercial qualquer,
implemente um programa que represente um vetor de produtos V que suporte até 100 produ-
tos. Cada produto deve ser uma “struct” com os campos “codigo” (int), “descricao” (char [100]),
“preco” (float) e “quantidade” (int). Para facilitar o processo de carregar um produto em uma
variável do programa, implemente uma função chamada “carrega_produto” que leia os atribu-
tos de um produto através da entrada padrão (tela) e retorne o produto. Similarmente, para
facilitar o processo de imprimir os atributos de um produto na tela, implemente a função “im-
prime_produto” que receba um produto como parâmetro e imprima os atributos do mesmo na
saída padrão (tela). Declarado o vetor de produtos e implementadas as funções de leitura e escrita
de produtos, solicite ao usuário através da entrada padrão (tela) que o mesmo digite um número
inteiro 0 < N < 100, representando o número de produtos a serem armazenados nesse vetor. A
seguir, solicite ao usuário que o mesmo digite código, descrição, preço e quantidade de cada um
dos N produtos que, através da função “carrega_produto”, serão armazenados em V . Tendo ar-
mazenado todos os produtos no vetor V , finalmente, mostre cada um deles na saída padrão (tela)
utilizando a função “imprime_produto”. (8 pontos)
2. Existem diversas aplicações onde a manutenção de uma lista de itens é muito importante.
Simulando uma aplicação que poderia ser utilizada em uma escola ou universidade qualquer,
implemente um programa que represente um vetor de alunos V que suporte até 10000 alunos.
Cada aluno deve ser uma struct chamada “Aluno” com os campos “nome” (int), “matricula” (int),
“notas” (float [3]) e “endereco” (struct Endereco). E para representar o endereço de um aluno
deverá ser criada a struct “Endereco” com os campos “rua” (char [200]), “numero” (int), “cep”
(long int) e “cidade” (char [100]). Para facilitar o cadastro de um aluno no sistema, implemente
uma função chamada “cadastra_aluno” que deve solicitar todos os dados de um aluno através
da entrada padrão (tela) e retornar uma “struct Aluno” com tais dados. E para facilitar a im-
pressão dos atributos de um dado aluno, implemente uma função chamada “imprime_aluno”
que receba como parâmetro uma variável do tipo “struct Aluno” e mostre todos os atributos da
mesma na saída padrão (tela). Definidas as estruturas e implementadas as funções, declare o vetor
de alunos V e solicite ao usuário que o mesmo digite um número inteiro 0 < N < 10000, rep-
resentando o número de alunos a serem armazenados. A seguir, através de chamadas à função
“cadastra_aluno” permita que o usuário cadastre os N alunos. E uma vez cadastrados, mostre os
atributos dos N alunos na tela através de chamadas à função “imprime_aluno”.
Bons estudos! ;-)

Outros materiais