Eminente

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1229 palavras )
  • Download(s) : 0
  • Publicado : 11 de abril de 2013
Ler documento completo
Amostra do texto
Universidade Católica de Angola Faculdade de Engenharia Curso de Informática Fundamentos de Programação I (Apontamentos)

=versão 1.0 = ..Dionisio João André..
djadioscript2.0@hotmail.com djadioscript2.0@gmail.com

ENUMERAÇÃO(ENUMERATION)

Conceitos chave e Objectivos Conceito Definição Erros mais Frequentes Declaracao Atribuição e Comparação Leitura e Escrita Enumeraçoes com Funcoes

Antes deentrarmos para nosso tema(enumeraçao), vamos aqui retornar a um tópico antigo em que abordamos sobre constantes. Uma constante é um nome que corresponde a um valor fixo, estes definidos anteriormente apenas de duas formas seguintes:

 #define Ex:  Const Ex:

/* Constantes Simbolicas*/ #define int d; /*palavra reserva pertencente a linguagem c*/ const int x;

Enumeração
Pois é, uma enumeracao sãooutros metodos de definir constantes.sendo assim temos:  #define  Const  Enumeração

Conceito
Em C uma enumeração é um conjunto de constantes (do tipo inteiro) com um nome_do_tipo. Numa enumeração o utilizador define todos os elementos que pertencem a esse tipo. Cada elemento é uma palavra ao qual corresponde um valor inteiro.

Definição
Sintaxe: enum nome_do_tipo {elemento1, elemento2, ...,elementoN};  enum - palavra-chave utilizada para definir uma enumeração;  nome_do_tipo - nome que identifica a enumeração;  elemento1,...,elementoN - elementos que compõem a enumeração; NB.: Para que o tipo enumerado esteja visível para todo ficheiro ou para qualquer função se assim quiser, é necessário que a definição desta seja colocada antes de qualquer função (após as directivas dopré-processador).

Exemplo1: #include enum estado_civil {solteiro,casado,divorciado}; main(){ .... }

Por definição o primeiro elemento de uma enumeração tem o valor 0, e esse valor é incrementado em 1 para cada um dos elementos seguintes. Para o caso anterior é efectuada internamente a atribuição solteiro = 0, casado = 1, viuvo = 2. Esta designada como uma atribuição automatica e pode seralterada na definição do tipo, atribuindo explicitamente a cada elemento, o valor inteiro correspondente. Exemplo2: #include

enum estado_civil { solteiro, casado=6, viuvo }; /* solteiro=0, casado=6,viuvo=7 */ main(){ .... }

Erros Frequentes
Existem especificamente dois tipos de erros mais frenquente quando a gente trabalha com enumeracoes: 1º Repetições dos membros na definacao dos tiposenumerados. Na definição de um tipo enumerado os elementos que o constituem não podem ser repetidos noutros tipos enumerados. Exemplo: enum minhas_cores{vermelho,preto,branco}; enum cores_do_ceu{ branco,azul }; Portanto após a definição do tipo anterior (minhas_cores) a enumeração seguinte seria inválida porque o elemento branco já foi utilizado. enum cores_do_ceu{ branco,azul }; /* O elemento brancoesta repetido */ 2º Um dos outros erros é nas atribuicoes é nas atribuiçoes automatica(forma interna), o programador pensar que o valor inteiro do primeiro elemento é 1. Exemplo2: enum minhas_cores{vermelho,preto,branco}; /*vermelho=1,preto=2,branco=3 em vez de vermelho=0,preto=1,branco=2*/

NB.: A definição de um tipo é diferente da declaração de uma variável. Na definição apenas é definido otipo enumerado. Para o utilizar é necessário declarar variáveis como sendo desse tipo assim como nas extruturas lembras-te

Declaracao
Ao contrário do que acontecia nos tipos básicos, na declaração de variáveis do tipo enumerado é necessário incluir a palavra-chave enum Sintaxe: enum nome_do_tipo identificador; Exemplo: #include enum estado_civil {solteiro,casado,divorciado}; enumerado*/enum estado_civil pessoa; /*Definiçao do tipo

/*Declaracao de uma variavel pesssoa como sendo do tipo enumerado estado_civil*/

main(){ .... }

Pode-se combinar a declaracao de enumeracao com uma variavel. Exemplo: #include enum estado_civil {solteiro,casado,divorciado} pessoa; /* estado_civil é o tipo énumerado e pessoa é a variavel deste tipo*/ main(){ .... }

Atribuição e...
tracking img