Escolar Documentos
Profissional Documentos
Cultura Documentos
Registros
Departamento de Computação
Universidade Federal de Ouro Preto
2023.1
1/11
Relembrando estruturas de dados
2/11
Registros
3/11
Definição de tipos registros
4/11
Exemplo
Declaração de um tipo para representar uma pessoa:
struct pessoa {
string nome;
int idade;
double salario;
};
Para acessar os campos de um registro, é necessário indicar o nome da variável e o nome do campo
desejado, separados por ponto.
int main() {
pessoa p1;
cout << p1.nome << " tem " << p1.idade << " anos"
<< " e recebe R$" << p1.salario << endl;
return 0;
} 6/11
Registros aninhados
O tipo do campo pode ser um tipo registro:
#include <iostream>
using namespace std;
struct pessoa {
string nome;
double salario;
data_ nascimento;
};
int main() {
pessoa p{"Beatriz", 1200, {20, 11, 2003}};
cout << p.nascimento.dia << "/" << p.nascimento.mes << "/" << p.nascimento.ano << endl;
return 0;
} 7/11
Exercício
Faça um programa que defina um tipo registro para representar um carro, contendo campos para o
modelo, a cor, e o ano de fabricação. O programa deve ler os dados de três carros e exibir o
modelo do carro mais antigo.
8/11
Arranjos de vetores
E se for necessário
..
armazenar os dados .
de 100 pessoas? int main() {
pessoa vet_pessoas[10];
for (int i = 0; i < 10; ++i) {
cin >> vet_pessoas[i].nome;
cin >> vet_pessoas[i].idade;
cin >> vet_pessoas[i].salario;
As estruturas vetores e registros podem ser combinadas }
para armazenar vários valores do tipo registro de uma vez. return 0;
Cada elemento do vetor será do tipo registro. }
Como o vetor é uma estrutura homogênea, todos os
elementos devem ser do mesmo tipo registro.
9/11
Exercício
Elabore um programa que leia uma quantidade de carros e crie um vetor com os dados dos carros
(cada carro tem um nome, ano de fabricação e preço).
Leia um preço de referência e mostre as informações de todos os carros com preço menor (na
ordem em que foram lidos).
10/11
Fim
11/11