Sie sind auf Seite 1von 2

IFPB Instituto Federal de Educao, Cincia e Tecnologia da Paraba Curso de Bacharelado em Engenharia Eltrica Disciplina: Programao Estruturada Professor:

: Gedvan P. Dias

Lista de Exerccios 08 Estruturas e Definio de Tipos


1. Crie uma estrutura para representar um ponto em um espao tridimensional, com as propriedades x, y e z, do tipo float. Faa um programa para ler e exibir as 3 coordenadas de um ponto p. 2. Usando a estrutura da questo anterior, faa uma funo para calcular a distncia euclidiana entre dois pontos no espao. 3. Usando a estrutura da questo anterior, faa uma funo para transladar um ponto no espao. A funo deve receber o endereo do ponto a ser alterado e os 3 valores de deslocamento, em cada eixo: dx, dy e dz. 4. Crie uma estrutura para representar um aluno, com um cdigo inteiro, um nome e o sexo. Crie tambm uma funo chamada exibe_aluno para exibir todos os dados do aluno. Exemplo: 100 Peter Parker Masculino 5. Usando a estrutura definida acima, crie uma funo chamada inicializa_aluno para inicializar todos os dados do aluno em uma nica chamada de funo. Exemplo:

struct aluno a; inicializa_aluno(&a, 100, "Peter Parker", 'M');


6. Usando a estrutura da questo anterior, faa uma funo chamada copia_aluno para copiar todas as propriedades de um aluno para outro, conforme o exemplo abaixo:

struct aluno a, b; inicializa_aluno(&a, 100, "Peter Parker", 'M'); copia_aluno(&b, a); exibe_aluno(b); // deve exibir: 100 - Peter Parker - Masculino
7. Defina uma nova estrutura para representar uma data, com 3 valores inteiros: dia, ms e ano. Use o comando typedef para criar o tipo t_data. Crie funes para inicializar, validar e exibir uma data. Exemplo:

t_data d; inicializa_data(&d, 21, 12, 2012); if (valida_data(d)) exibe_data(d);


8. Copie a estrutura aluno resultante da questo 4, defina o tipo t_aluno para ela e adicione mais uma propriedade correspondente sua data de nascimento. A propriedade deve usar a estrutura t_data, definida na questo anterior. Modifique as funes de inicializar e exibir alunos para incluir a nova propriedade. Exemplo:

t_aluno a; inicializa_aluno(&a, 100, "Peter Parker", 'M', 16, 04, 1982); exibe_aluno(a); // deve exibir: 100 - Peter Parker - Masculino - 16/04/1982
9. Crie uma estrutura para representar um carro, com as propriedades fabricante, nome e ano. Em seguida, crie uma funo chamada novo_carro para alocar e inicializar um carro, conforme o exemplo abaixo. Defina o tipo Carro como sendo um ponteiro para a estrutura carro. Crie tambm uma funo para exibir o carro.

Carro c; // ponteiro c = novo_carro("Fiat", "Palio", 2010); // aloca um exibe_carro(c); // imprime: free(c); // libera a

para a estrutura carro e retorna seu endereo Fiat Palio 2010 memria alocada dinamicamente

10. Use a estrutura definida na questo acima e adicione as seguintes propriedades: a) quilometragem: distncia j percorrida pelo carro em quilmetros. b) combustivel: quantidade de combustvel atual do carro em litros. c) capacidade: capacidade do tanque de combustvel em litros.

d) consumo: razo de consumo do carro (quilmetros / litro de combustvel). Adeque a funo novo_carro para receber tambm como parmetros a capacidade e o consumo do carro, e inicializar a quilometragem e o combustvel atual como 0 (zero). Por fim, implemente as funes: a) abastece(litros): aumenta o nvel de combustvel, no podendo ultrapassar a capacidade. b) anda(km): incrementa a quilometragem e reduz o combustvel de acordo com a razo de consumo. O combustvel no pode ficar abaixo de zero. Se ele no for suficiente, mostrar uma mensagem dizendo que o combustvel acabou.

Das könnte Ihnen auch gefallen