Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Cartas de la Baraja

Estas en el tema de Cartas de la Baraja en el foro de C/C++ en Foros del Web. Hola a todos :) ,estoy haciendo una práctica relacionada con las cartas y tengo dos dudas en unas funciones que escribo a continuación : @import ...
  #1 (permalink)  
Antiguo 27/12/2014, 06:17
Avatar de anggiebs  
Fecha de Ingreso: julio-2014
Ubicación: Madrid
Mensajes: 35
Antigüedad: 9 años, 9 meses
Puntos: 0
Pregunta Cartas de la Baraja

Hola a todos :) ,estoy haciendo una práctica relacionada con las cartas y tengo dos dudas en unas funciones que escribo a continuación :

Código C++:
Ver original
  1. //Constantes:
  2. const int CARTASPORPALO = 13;
  3. const int MAXCARTAS = 53;
  4. const int CENTINELA = 52;
  5.  
  6. //Tipos enumerados:
  7. typedef enum{ picas,treboles,diamantes,corazones }tPalo;
  8.  
  9. //Tipos:
  10. typedef int tCarta[CARTASPORPALO];
  11. typedef tCarta tMazo[MAXCARTAS];
  12.  
  13. //Procedimiento:
  14. void crearMazoVacio(tMazo mazo){//Inicializo a Centinela el primer valor de mazo.
  15.     mazo[0] = CENTINELA;
  16. //Me selecciona la palabra mazo y me dice "Error:La expresión debe ser un valor L modificable."
  17.  
  18. }
  19.  
  20. //Función:
  21. tPalo darPalo(tCarta carta){
  22.    
  23.     return tPalo(int(carta) / CARTASPORPALO);
  24.     //Por ejemplo si me entra la carta 2,me debe devolver 0 porque 2/13 = 0
  25.     que en el enumerado tPalo son las picas.
  26.  
  27.     //Yo he puesto como molde el int(..) porque si escribo solo: [B]carta[/B]/CARTASPORPALO,
  28.     me selecciona la palabra carta y dice "Error :La expresión debe tener un tipo aritmético o enum."
  29.  
  30.     //Mi duda es cómo entra el array aquí porque yo siempre he usado los arrays así por ejemplo:carta[i] y no lo entiendo porque la profesora nos ha dicho que esta función debe ser así en la práctica *-*
  31. }


Espero que puedan ayudarme,les agradecería mucho :)!
  #2 (permalink)  
Antiguo 28/12/2014, 20:48
 
Fecha de Ingreso: marzo-2013
Ubicación: Madrid
Mensajes: 20
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Cartas de la Baraja

Buenas

según el enunciado de tu práctica te dice que tCarta es un sinónimo de int.
Entonces la expresión quedaría así:

typedef int tCarta;

entonces en la función darPalo (...) { ....... } no entra ningún array.

Respecto a la primera función "crearMazo"
te da ese error, precisamente porque has definido un array de tCarta. Si lo cambias el error desaparece.

Quizá me equivoco, pero yo estoy en el grupo D y también tengo que hacer esta práctica.
saludos.
  #3 (permalink)  
Antiguo 29/12/2014, 04:10
Avatar de anggiebs  
Fecha de Ingreso: julio-2014
Ubicación: Madrid
Mensajes: 35
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Cartas de la Baraja

Nunca pensé que me respondería alguien de mi propia facultad :D ,y sí,era ese el error,ayer un compi me corrigió .
Gracias por la ayuda de todas formas ;) !
  #4 (permalink)  
Antiguo 29/12/2014, 05:12
 
Fecha de Ingreso: marzo-2013
Ubicación: Madrid
Mensajes: 20
Antigüedad: 11 años, 1 mes
Puntos: 0
Total casualidad jajaja
Un saludo

Etiquetas: arrays, enum
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:15.