Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/07/2010, 06:30
Avatar de Munire
Munire
 
Fecha de Ingreso: julio-2010
Ubicación: en el ciberdespacio (España)
Mensajes: 150
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: ayuda error programacion: no obedece el codigo

Cita:
El código como lo posteaste no compila, ya que:

Código:
int elfo::atacar_t2(){

    cout << "aaaarrrrggg..." << endl;
}
no está declarada en la clase elfo (tal vez la usaste de prueba pero habrá que comentarla/borrarla o declararla).
se me olvido borrarla, ya que en el original yo tenia puesto dos "trasgos" y borre el segundo para acortar el codigo para postearlo.

Cita:
El primer punto que quiero tocar está en tus archivos de cabecera:

Código:
#include <iostream>
using namespace std;
#include <cstdlib>  // versión C++ OK pero no se necesita
#include <stdlib.h> // versión C sale sobrando
¿y el include de string?
Lo necesario es que tengas:
Código:
#include <iostream>
#include <string>
using namespace std;
cstdlib si lo necesito por que es necesaria para rand()
por que es necesario include string? ami me funciona string sin poner eso...


Cita:
Siguiente punto:
Código:
    int atacar();
    int defender();
    int abandonar();
    int muerto();
    int atacar_t();
    int defender_t();
    int muerto_t();
Lo correcto es que estos métodos retornen un entero. Ejemplo:
Código:
int elfo::defender(){
	cout << nombre << " se puso en posicion defensiva..." << endl;
	return 1;
}
entonces no hace falta int... tendria que poner void?

Cita:
Último punto y más importante:
Código:
if (dec = 1){...
}
En varios if's estás asignando y no comparando valores. Lo correcto:
Código:
if (dec == 1){...
}
Revisa el código y haz las correcciones necesarias para que funcione como esperas.

OJO: En el switch también has olvidado utilizar 'break'.

Saludos.
vale ahora entiendo por que cambiaba el valor xD

muchas gracias fightmx, voy a probarlo y te cuento.

EDITO: ya lo he probado y funciona perfecto.

Última edición por Munire; 14/07/2010 a las 06:58