Baixe o app para aproveitar ainda mais
Prévia do material em texto
Dados heterogêneos (struct) Em muitos casos existe a necessidade de se definir variáveis que comportem tipos diferentes de dados em seu espaço, por exemplo uma variável que possa guardar um número inteiro e um caractere. Sintaxe: struct nome{ Tipo1 campo1; Tipo2 campo2; ⁞ TipoN campoN; } Exemplo 1: No exemplo, definimos uma estrutura heterogênea chamada Pessoa que possui três campos. O primeiro campo, chamado nome, guarda uma cadeia de caracteres de tamanho 20, o segundo campo, chamado idade, guarda um valor inteiro e o terceiro campo, chamado altura, guarda um valor real. Podemos perceber que a struct não funciona independentemente, necessitando que seja declarada uma variável do tipo da struct para que seja possível usar de suas características. Podemos ver, pelas linhas 14,16,18 e 19 do exemplo, que o acesso aos diferentes campos é feito pelo uso do ponto seguido do nome do campo que queremos usar. Forma alternativa Existe uma forma alternativa de se definir uma nova struct, para que não seja preciso escrever struct antes do nome, toda vês que tivermos que declarar uma variável. Sintaxe: typedef struct { Tipo1 campo1; Tipo2 campo2; ⁞ TipoN campoN; } nome; Com esse tipo de sintaxe declaramos um novo tipo de variável, typedef, e podemos utilizar somente nome na hora de declararmos uma variável. Exemplo 2: Podemos ver que não precisamos usar a palavra struct para declararmos uma variável do tipo Pessoa. Exercícios: 1) Usando a struct Pessoa. Faça um programa que receba os dados de 100 pessoas e guarde-os em um vetor do tipo Pessoa e em mostre o nome das pessoas menores de idade com mais de 70 quilos. 2) Declare um struct para guardar uma data. Faça um programa que receba duas datas e retorne o número de dias entre elas. 3) Faça um programa que possua uma struct com os campos Modelo, ano e consumo de um veículo. O programa deve receber os valores de 50 veículos, dados por um usuário, e em seguida mostrar o modelo e ano do mais econômico. 4) Faça uma struct racional que possua os campos dividendo e divisor, que formam um número racional. Em seguida faça um programa que receba dois números racionais e mostre a soma entre eles em forma de fração.
Compartilhar