Sei sulla pagina 1di 2

Algoritmos e Estruturas de Dados 1

Lista de Exerccios 5
Professor Paulo Gomide
Parte Terica
1. Explique o que so estruturas complexas heterogneas ou estruturas compostas heterogneas.
Qual a forma bsica de utilizao dessas estruturas em C?
2. Apresentando a sintaxe correta, explique como so declaradas estruturas complexas heterogneas
em C.
3. A utilizao de structs um artifcio muito importante na linguagem C.
(a) Descreva as caractersticas e a nalidade das structs.
(b) Quais as vantagens de se usar structs em um programa?
4. possvel implementar um programa qualquer sem a utilizao de nenhuma struct? Se a resposta
for armativa, aponte ento qual a importncia da utilizao de structs, especialmente emsistemas
de grande porte?
Parte Prtica
1. Existem diversas aplicaes onde a manuteno de uma lista de itens muito importante.
Simulando uma aplicao 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 (oat) e quantidade (int). Para facilitar o processo de carregar um produto em uma
varivel do programa, implemente uma funo chamada carrega_produto que leia os atribu-
tos de um produto atravs da entrada padro (tela) e retorne o produto. Similarmente, para
facilitar o processo de imprimir os atributos de um produto na tela, implemente a funo im-
prime_produto que receba um produto como parmetro e imprima os atributos do mesmo na
sada padro (tela). Declarado o vetor de produtos e implementadas as funes de leitura e escrita
de produtos, solicite ao usurio atravs da entrada padro (tela) que o mesmo digite um nmero
inteiro 0 < N < 100, representando o nmero de produtos a serem armazenados nesse vetor. A
seguir, solicite ao usurio que o mesmo digite cdigo, descrio, preo e quantidade de cada um
dos N produtos que, atravs da funo carrega_produto, sero armazenados em V . Tendo ar-
mazenado todos os produtos no vetor V , nalmente, mostre cada um deles na sada padro (tela)
utilizando a funo imprime_produto. (8 pontos)
2. Existem diversas aplicaes onde a manuteno de uma lista de itens muito importante.
Simulando uma aplicao 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 (char [100]), matric-
ula (int), notas (oat [3]) e endereco (struct Endereco). E para representar o endereo 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, im-
plemente uma funo chamada cadastra_aluno que deve solicitar todos os dados de um aluno
atravs da entrada padro (tela) e retornar uma struct Aluno com tais dados. E para facilitar a
impresso dos atributos de um dado aluno, implemente uma funo chamada imprime_aluno
que receba como parmetro uma varivel do tipo struct Aluno e mostre todos os atributos da
mesma na sada padro (tela). Denidas as estruturas e implementadas as funes, declare o vetor
de alunos V e solicite ao usurio que o mesmo digite um nmero inteiro 0 < N < 10000, rep-
resentando o nmero de alunos a serem armazenados. A seguir, atravs de chamadas funo
cadastra_aluno permita que o usurio cadastre os N alunos. E uma vez cadastrados, mostre os
atributos dos N alunos na tela atravs de chamadas funo imprime_aluno.
Bons estudos! ;-)

Potrebbero piacerti anche