64. C++ || Estructuras enumeraciones



Las enumeraciones forman un nuevo tipo de dato definido por el usuario con constantes de nombre de tipo entero. Las enumeraciones en C++ tienen la siguiente sintaxis:

enum Nombre{
 enumerador1,enumerador2,enumerador3,...
};

Donde:

  • enum. Nombre reservado por C++ para definir una enumeración.
  • Nombre. Cualquier nombre permitido que se le quiera dar a la enumeración.
  • enumerador1, etc. Lista de enumeradores.

Algo que debes tomar en cuenta, es que a diferencia de las estructuras, las enumeraciones no terminan en punto y coma, como notarás, siempre son separadas por comas.

Los miembros dentro de una enumeración se les conoce como enumeradores que al ser declarados, se les asigna valores empezando por el 0, por ejemplo:

enum Colores{
 ROJO,VERDE,AZUL
};

Al enumerador ROJO, se le asigna el valor 0, a VERDE el valor de 1 y a AZUL el valor de 2. Esto, digamos que sucede igual que con los índices de un array, que siempre empiezan por 0. El ejemplo anterior es visto por el compilador de la siguiente manera:

const int ROJO = 0;
const int VERDE = 1;
const int AZUL = 2;

Enumeraciones frecuentes puede ser como la que sigue:

enum diaSemana{
 LUNES,MARTES,MIERCOLES,
 JUEVES,VIERNES,SABADO,DOMINGO
};

//Aunque también podemos asignar valores durante la declaración: 

enum Hexaedro{
 VERTICES = 0,
 LADOS = 12,
 CARAS = 6
};

Veamos un ejemplo para entender mejor el concepto:

#include <iostream>
using namespace std;

enum Boolean{
 FALSO,VERDADERO
};

Boolean comprobarNumero(int);

int main(){
 int numero;
 do{
  cout << "Ingresa un numero: ";
  cin >> numero;
  if(comprobarNumero(numero)){
   cout << "El numero esta entre 1-10\n";
  }else{
   cout << "El numero no esta entre 1-10\n";
   cout << "Hasta luego\n";
  }
 }while(comprobarNumero(numero));
 return 0;
}

Boolean comprobarNumero(int numero){
 if(numero > 0 && numero <= 10){
  return VERDADERO;
 }
 return FALSO;
}

No hay comentarios