70 likes | 202 Views
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).
E N D
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).
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;
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.
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, ...
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!”;
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];