Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/02/2013, 06:20
Avatar de adrirs11
adrirs11
 
Fecha de Ingreso: diciembre-2012
Ubicación: BCN
Mensajes: 107
Antigüedad: 12 años
Puntos: 1
Problema con variable char en proyecto c++

Buenas, pues he hecho un ejercicio con c++, necesito meter en una variable char mas de un caracter, como u array en java vaya, pero lo he probado con char*palo=... y con char palo[], y me da error y no me deja compilar. A ver si alguien me lo soluciona, gracias de antemano.

/* File: SieteYMedio.cpp
*Created on 31 de enero de 2013, 20:08
*/

#include <cstdlib>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <time.h>

using namespace std;

int main(int argc, char** argv) {

//Declaración de variables

int aleatorioNumero, aleatorioPalo;
float maximaPuntuacion, sumaJugador1, sumaJugador2;
bool respuesta;
char palo[], resp;

//Fivar

printf("Bienvenidos a SIETE Y MEDIO! Estas son las reglas del juego:\n"
"\n -El mazo de cartas sera similar a la baraja espanola, excluyendo los 8 y 9.\n"
"\n -Las cartas del 1 al 7 tienen su mismo valor en el juego.\n"
"\n -Las cartas jota(10), dama(11) y rey(12) tienen valor por medio, es decir, si tienes un siete y pides otra carta, y te sale cualquiera de estas tres, obtendras siete y medio, es la maxima puntuacion.\n"
"\n -Si te pasas de siete y medio, pierdes.\n"
"\n -Cuando quieras puedes plantarte.\n"
"\n -Puede haber empate.\n"
"\n\n\n COMIENZA EL JUEGO:\n");

srand(time(NULL));

aleatorioNumero=1+rand()%(10-1);
aleatorioPalo=1+rand()%(4-1);
sumaJugador1=0;
sumaJugador2=0;
sumaJugador1=0;
sumaJugador2=0;
respuesta=true;
maximaPuntuacion=7.5;

//Jugador 1, recibe la primera carta

switch (aleatorioPalo) {

case 1: palo="oros";
break;
case 2: palo="espadas";
break;
case 3: palo="copas";
break;
case 4: palo="palos";
break;

}


if (aleatorioNumero==8 || aleatorioNumero==9 || aleatorioNumero==10) {

sumaJugador1+=0.5;
}
else {

sumaJugador1+=aleatorioNumero;

}
printf("\nEsta es tu carta jugador 1: %i de %c. Tu puntuacion es de %f.\n", aleatorioNumero, palo, sumaJugador1);
printf("\nJugador 1, si quieres otra carta teclea 'y' si te plantas teclea 'n'.\n");
scanf("%c", &resp);

if (resp=='y') {

respuesta=true;
}
else {

respuesta=false;
}

//Jugador 2, recibe la segunda carta

aleatorioNumero=1+rand()%(11-1);
aleatorioPalo=1+rand()%(4-1);

switch (aleatorioPalo) {

case 1: palo="oros";
break;
case 2: palo="espadas";
break;
case 3: palo="copas";
break;
case 4: palo="palos";
break;

}


if (aleatorioNumero==8 || aleatorioNumero==9 || aleatorioNumero==10) {

sumaJugador2+=0.5;
}
else {

sumaJugador2+=aleatorioNumero;

}
printf("\nEsta es tu carta jugador 2: %i de %c. Tu puntuacion es de %f.", aleatorioNumero, palo, sumaJugador2);

// Jugador 1 pide carta en caso de no plantarse con la primera carta


while (respuesta=true) {

aleatorioNumero=1+rand()%(10-1);
aleatorioPalo=1+rand()%(4-1);


if (aleatorioNumero<=7){

sumaJugador1+=aleatorioNumero;

}
else{

sumaJugador1+=0.5;


}
switch (aleatorioPalo) {

case 1: palo="oros";
break;
case 2: palo="espadas";
break;
case 3: palo="copas";
break;
case 4: palo="palos";

}
if (sumaJugador1 > maximaPuntuacion) {

printf("\n -Estas eliminado, te has pasado de SIETE Y MEDIO!");
respuesta=false;
palo="exit";

}
else {

printf("\nEsta es tu carta, el %i de %c, tu puntuacion es de %f.\n",aleatorioNumero, palo, sumaJugador1);
printf("\nJugador 1, si quieres otra carta teclea 'y' si te plantas teclea 'n'.\n");
scanf("%c", &resp);

}
if (resp=='y') {

respuesta=true;

}
else {

respuesta=false;

}
}
printf("\nJugador 2, si quieres otra carta teclea 'y' si te plantas teclea 'n'.\n");
scanf("%c", &resp);

if (resp=='y') {

respuesta=true;
}
else {

respuesta=false;
}

//Jugador 2, pide carta en caso de no plantarse con la primera carta


while (respuesta=true) {

aleatorioNumero=1+rand()%(10-1);
aleatorioPalo=1+rand()%(4-1);


if (aleatorioNumero<=7){

sumaJugador2+=aleatorioNumero;

}
else{

sumaJugador2+=0.5;


}
switch (aleatorioPalo) {

case 1: palo="oros";
break;
case 2: palo="espadas";
break;
case 3: palo="copas";
break;
case 4: palo="palos";

}
if (sumaJugador2 > maximaPuntuacion) {

printf("\n -Estas eliminado, te has pasado de SIETE Y MEDIO!");
respuesta=false;
palo="exit";

}
else {

printf("\nEsta es tu carta, el %i de %c, tu pntuacion es de %f",aleatorioNumero, palo, sumaJugador2);
printf("\nSi quieres otra carta teclea 'y' si te plantas teclea 'n'.\n");
scanf("%c", &resp);

}
if (resp=='y') {

respuesta=true;

}
else {

respuesta=false;

}
}

//Los resultados de la partida se muestran en este bloque


if (sumaJugador1==sumaJugador2) {

printf("\nHABEIS EMPATADO, la puntuacion del jugador 1 es de %f, i la del jugaro 2 es de %f", sumaJugador1, sumaJugador2);

}
if (sumaJugador1>sumaJugador2) {

printf("El jugador 1 HA GANADO! Con una puntuacion de %f, frente a la puntuacion %f del jugador 2.", sumaJugador1, sumaJugador2);

}
if (sumaJugador2>sumaJugador1) {

printf("El jugador 2 HA GANADO! Con una puntuacion de %f, frente a la puntuacion %f del jugador 1.", sumaJugador2, sumaJugador1);

}



return 0;
}