Curso de Programação em C++
Universidade Federal do CearáDepartamento de Engenharia Estrutural
e Construção Civil
Prof: Evandro Parente JuniorMonitor: Renato Peixoto
Maio/2007
2
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).
3
Estruturas Definição:
struct DadosAluno{char Nome[200];int Matricula;int DiaNasc;int MesNasc;int AnoNasc;int Curso; // Codigo do cursodouble IRA // Indice de rendimento academico};
Declaração de variáveis: struct DadosAluno aluno; struct DadosAluno vet_aluno[1000]; struct DadosAluno *ptr_aluno;
4
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.
5
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, ...
6
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!”;
7
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];
Top Related