Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/01/2012, 08:08
Avatar de aos_26
aos_26
 
Fecha de Ingreso: enero-2012
Ubicación: Vila-seca, Tarragona, España
Mensajes: 5
Antigüedad: 12 años, 4 meses
Puntos: 0
Asignar cadena de caracteres en un case. C

Hola, ante todo gracias por prestar vuestro tiempo.

Cuestión:
Me encuentro programando un Blackjack en C, y me disponia a imprimir por pantalla el numero de carta y el palo. El problema que tengo es que la unica forma de guardar una palabra como podria ser "picas" es creando diferentes vectores con una cadena de caracteres y usar un case para que depende del valor que reciba le asigne un vector o otro al printf.

No encuentro la forma de que en vez de escribir todo el rato printf en el case solo tenga que depende el valor recibido asignar una palabra a el vector.
Ejemplo de lo que estoy utilizando:
Código c:
Ver original
  1. int fr;
  2. char as[]="as", picas[]="picas", trevol[]="trevoles", corazon[]="corazones";
  3. srand(time(NULL));
  4. fr=rand()%4;
  5. switch (fr+1)
  6. {
  7.     case 1:
  8.         printf ("palo: %s", as);
  9.         break;
  10.     case 2:
  11.         printf ("palo: %s", picas);
  12.         break; 
  13.     case 3:
  14.         printf ("palo: %s", corazon);
  15.         break;
  16.     case 4:
  17.         printf ("palo: %s", trevol);
  18.         break;
  19. }
Una idea de lo que quiero hacer:
Código c:
Ver original
  1. int fr;
  2. char palo[];
  3. srand(time(NULL));
  4. fr=rand()%4;
  5. switch (fr+1)
  6. {
  7.     case 1:
  8.         palo[]="as"
  9.         break;
  10.     case 2:
  11.         palo[]="picas"
  12.         break; 
  13.     case 3:
  14.         palo[]="corazones"
  15.         break;
  16.     case 4:
  17.         palo[]="trevoles"
  18.         break;
  19. }
  20. printf ("el palo a sido: %s", palo);

Última edición por aos_26; 08/01/2012 a las 08:23 Razón: Titulo del mensaje.