Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/12/2014, 06:17
Avatar de anggiebs
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 :)!