[C con Clase] problema ENUMERADOS

Steven Davidson steven en conclase.net
Mar Feb 20 01:21:49 CET 2007


Hola Tikitita,

El pasado 2007-02-19 23:33:07, tikitita escribió:

t> hola chicos, estoy haciendo un blackjack y me da problemas la declaracion de un enumerado, a la hora de compilar me da error de constant, he probado a declararlo de mil maneras... os pego aki el codigo a ver si alguien puede ayudarme

Veamos el código.

t> #ifndef jugadoresH

Te hace falta definir esta constante simbólica. El esquema es el siguiente:

#ifndef jugadoresH
#define jugadoresH

// El contenido del fichero de cabecera

#endif

t> #include "apuesta.h"
t> enum valor {1,2,3,4,5,6,7,8,9,10,j,q,k};/

Esto no es correcto. Un tipo enumerado se comporta como una lista de constantes enteros. Dicho esto, estamos definiendo nombres para las constantes. Como bien sabrás, los nombres en C/C++ pueden comenzar con un subrayado '_' o con letras. Por lo tanto, no puedes crear nombres con números. Lo que sí podrías hacer es usar nombres descriptivos para representar cada valor. Por ejemplo,

enum valor { A=1, DOS, TRES, CUATRO, CINCO, SEIS, SIETE, OCHO, NUEVE, DIEZ, J, Q, K };

Supongo que tb podrías intentar conservar los números arábigos en los nombres. Por ejemplo, puedes hacer lo siguiente,

enum valor { A=1, _2, _3, _4, _5, _6, _7, _8, _9, _10, J, Q, K };

t> /declaracion de enumerados
t> class jugadores {
t> private:
t>    
t>     char *nombre;
t>     unsigned int puntoscartas;
t>     valor V;//variable del enumerado
t>     apuesta apuestecilla;//tipo_variable
t>     unsigned int Cartera;//variable donde vamos a guardar el dinero del jugador
t>        
t>     unsigned int puntoscartas(enum valor);
t>    
t> public:
t>    
t>     jugadores ();
t>    
t>     void pedirapuesta (unsigned int apuestajugador);
t>     unsigned int contarcartas (unsigned int cartas);
t>     void ganarapuesta(unsigned int apuestajugador);
t>     void perderapuesta(unsigned int apuestajugador);
t>    
t> };
t> #endif


Espero que esto te ayude.

Steven


Más información sobre la lista de distribución Cconclase