[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