Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Universidade Estadual da Paraíba - UEPB Centro de Ciências e Tecnologia - CCT Departamento de Computação - DC Disciplina: Linguagem de Programação I Docente: Ícaro Lins Leitão da Cunha Período: 2014.1 Tipo Abstrato de Dado 1. Escreva um programa que preencha uma variável estrutura e depois mostre-a na tela. A estrutura deverá conter campos para: nome, endereço, idade, telefone, data. Sendo que data deverá ser um struct com os campos: dia, mês e ano. 2. Modifique o programa anterior, copiando os campos de nome e data para uma outra variável da estrutura e exibindo os conteúdos das duas variáveis. 3. Imagine a seguinte situação: você precisa armazenar na memória os dados referentes a 60 alunos (nome e série) e suas notas ao longo do ano (2 unidades) em 4 disciplinas, inglês, francês, matemática e português. Como você poderia organizar essas informações para serem armazenadas na memória? Faça um esquema do formato imaginado por você. 4. Dada a struct: struct dma { int dia; int mes; int ano; }; E o programa: int main( void) { struct dma a, b; int d; scanf( "%d %d %d", &a.dia, &a.mes, &a.ano); scanf( "%d", &d); b = fim_evento( a, d); printf( "%d %d %d\n", b.dia, b.mes, b.ano); return 0; } Escreva a função fim_evento, onde ela recebe como parâmentros uma variável do tipo struct dma referente ao dia inicial do evendo e variável inteira referente à quantidade de dias de duração do evento. O tipo de retorno desta função deverá ser tipo struct dma e com os valores devidamente calculados para a determinação do fim do evento. 5. Escreva uma função que receba dois structs do tipo dma acima, cada um representando uma data válida, e devolva o número de dias que decorreram entre as duas datas. 6. Escreva uma função que receba um número inteiro que representa um intervalo de tempo medido em minutos e devolva o correspondente número de horas e minutos (por exemplo, converte 131 minutos em 2 horas e 11 minutos). Use uma struct como a seguinte: struct hm { int horas; int minutos; }; 7. Defina um registro empregado para guardar os dados (nome, sobrenome, data de nascimento, RG, data de admissão, salário) de um empregado de sua empresa. Defina um vetor de empregados para armazenar todos os empregados de sua empresa. 8. Um racional é qualquer número da forma p/q, sendo p inteiro e q inteiro não nulo. É conveniente representar um racional por um registro: typedef struct { int p, q; } racional; Vamos convencionar que o campo q de todo racional é estritamente positivo e que o máximo divisor comum dos campos p e q é 1. Escreva uma função reduz que receba inteiros a e b e devolva o racional que representa a/b; uma função neg que receba um racional x e devolva o racional −x; uma função soma que receba racionais x e y e devolva o racional que representa a soma de x e y; uma função mult que receba racionais x e y e devolva o racional que representa o produto de x por y; uma função div que receba racionais x e y e devolva o racional que representa o quociente de x por y; 9. Veja como você está. Escreva um programa fazendo o uso de struct's. Você deverá criar um tipo chamado ponto, contendo apenas a posição x e y (inteiros) do ponto. Declare 2 pontos, leia a posição (coordenadas x e y) de cada um e calcule a distância entre eles. Divida o programa através do uso de funções (por exemplo usando uma rotina para a leitura e uma rotina para o cálculo de distância). Apresente no final a distância entre os dois pontos.
Compartilhar