Programar em C/Enumeração: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Sem resumo de edição
EvertonS (discussão | contribs)
Linha 23:
Exemplo:
{| border 1
|black || blue || green || cyan || purple || yellow || white
|-
|0 || 1 || 2 || 3 || 5 || 6 || 7
Linha 36:
{| border 1
|Quadrado || Rectângulo || Triangulo || Circulo || Elipse
|-
|5 || 6 || 27 || 28 || 29
|}
Linha 46:
 
É tal como as estruturas criar tipologias de variáveis
#include <iostreamstdio.h>
/*Definindo o cabeçalho*/
using namespace std;
enum cores
&nbsp;
{
int main()
cor1 , /*Aqui uma virgula*/
cor2 ,
cor3 ,
cor4
}; cout/*Aqui <<um "hot"ponto << endl;virgula*/
/*typedef transformamos 2 palavras em uma -> tipo_cores*/
typedef enum cores tipo_cores ;
/*******************************************************/
/*A funçao default da lib ou glibc*/
int main(void)
{
/*Agora usando o nosso novo tipo
enum color {RED, GREEN, BLUE};
* temos 4 lugares para definir o que quisermos
color myColor = 5;
* Aqui sem typedef teriamos que colocar enum cores */
&nbsp;
tipo_cores verde,azul=2,branco,outra_Cor;
if (myColor == RED)
/*Sim verde {existe*/
if(verde)
cout << "hot" << endl;
}{
printf("Estou vivo porque verde esta enumerado \n");
if (myColor == BLUE)
{}
/*se azul e igual a 2 esta vivo*/
cout << "cold" << endl;
if(azul == }2)
if (myColor == GREEN) {
printf("Estou {vivo porque azul e igual a 2 ;) \n");
}
cout << "Is not easy being" << endl;
/* printf nao sera executado */ }
if if(myColorbranco == RED)12 )
system (“pause”);
return 0; {
printf("Nao sou igual a 12 vou ficar por aqui mesmo ;) \n");
}
return 0 ;
/*De um enter depois de } para evitar erros..
* TKX Everton */
}
 
Este programa vai dar erro! Porquê?
Porque myColor é iniciado com o valor 5. Mas como a variável myColor é do tipo color os seus valores estão limitados á da enumeração, apenas RED, GREEN e BLUE, são válidos