Curso de Programação em C++
Universidade Federal do Ceará
Departamento de Engenharia Estrutural e
Construção Civil
Prof: Evandro Parente Junior
Monitor: Renato Peixoto
Maio/2007
Estruturas

Estruturas:


São utilizadas para armazenar dados
heterogêneos (tipos diferentes).
Ex: dados de um aluno






Nome (string)
Matrícula (inteiro)
Data de nascimento (dd/mm/aaaa => 3 inteiros)
Curso (inteiro ou string)
IRA (real).
Vetores e matrizes:

Armazenam um conjunto de dados do mesmo tipo
(dados homogêneos).
2
Estruturas

Definição:


struct DadosAluno{
char Nome[200];
int Matricula;
int DiaNasc;
int MesNasc;
int AnoNasc;
int Curso; // Codigo do curso
double IRA // Indice de rendimento academico
};
Declaração de variáveis:



struct DadosAluno aluno;
struct DadosAluno vet_aluno[1000];
struct DadosAluno *ptr_aluno;
3
Estruturas

Acesso aos dados:



Através do nome da variável e do nome do campo.
Exemplos:
 cout << aluno.Matricula;
 cout << vet_aluno[i].Matricula;
 cout << ptr_aluno->Matricula;
Importante:
 Utiliza-se “.” nas variáveis comuns.
 Utiliza-se “->” nas variáveis tipo ponteiro.
 Vetores alocados dinamicamente são tratados como
variáveis comuns após a alocação.
4
Estruturas

Tipos Abstratos de Dados (TAD):




Verifica-se que as estruturas podem ser encaradas
como novos tipos definidos pelo programa.
Além dos dados contidos na estrutura é possível definir
funções que atuem sobre estes dados.
Estas funções definem o comportamento dos tipos
criados.
Este mecanismo permite criar novos tipos além dos
básicos definidos pela linguagem:

char, int, bool, float, double, ...
5
Tipos Abstratos de Dados

Tipo Abstrato de Dados ou Tipo Definido pelo Usuário:



Nomes utilizados para descrever os novos tipos de dados criados em
um programa.
Mecanismos de definição:
 Estruturas (struct).
 Enumerados (enum).
 Uniões (union): pouco utilizado.
Enumerados:
 Utilizados para definir os valores possíveis de uma variável
(inteira):
enum _eResultado{VITORIA, EMPATE, DERROTA};
enum _eResultado jogo;
if (jogo == VITORIA) cout << “Ganhamos!”;
6
Tipos Abstratos de Dados

Comando typedef:

Formaliza a definição de novos tipos:




typedef struct {int dia,mes,ano;} sData;
typedef enum _eResultado eResultado;
Define um nome para o tipo criado.
Pode ser utilizado para renomear tipos
existentes:
typedef float Real; // usar double se necessario!
Real x[100];
7
Download

Curso de programação em MATLAB - DEECC