Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/04/2013, 08:33
Shoc
 
Fecha de Ingreso: abril-2013
Mensajes: 1
Antigüedad: 11 años, 1 mes
Puntos: 0
Pregunta Problema al compilar un programa

Hola^^
Me gustaría saber si alguien me podría ayudar con un problema que tengo, y es que no me compila un programa, no lo ejecuta y no sé por qué, dejo aquí el código a ver si alguien me podría ayudar. Gracias de antemano^^


#include<iostream>
#include<ctime>
#include<conio.h>
using namespace std;

const int N=7;
const int MinimoSoldados = 5;
const int MaximoSoldados = 20;

struct STerritorio{
float Soldados;
int Propietario;
};

void IniciaTerritorios(STerritorio);
void DibujaTerritorios(STerritorio);
void Atacar(STerritorio);
void ActualizarTabla(STerritorio);

int main(){
int Soldados, Z, X, Numero;
srand(time(0));
STerritorio Territorio[N*2];
IniciaTerritorios(Territorio);
DibujaTerritorios(Territorio);
Atacar(Territorio);
ActualizarTabla(Territorio);
M = (MaximoSoldados - MinimoSoldados)+1;


system("pause");
return 0;
}

void IniciaTerritorios(STerritorio &T){
int c;
srand(time(0));
Propietario=0;
for(c=1;c<=N;c++)//genera los numeros aleatorios para los terrenos
{

num=5+rand()%(M);
cin.getline(T.Soldados);
cin.getline(T.Propietario);
if (Propietario = 0)
Propietario = 1;
else
Propietario = 0;
}
cin.get();
}
void DibujaTerritorio(STerritorio T){
cout << T.Soldados << endl;
cout << T.Propietario << endl;
}



void Atacar(STerritorio &T){
do{
N = N-2;
cout << "Numero parcela a atacar: ";
cin >> Numero;
if(Numero<=N && Numero > 0){
Z = (Numero*2)-1;//doble de la parcela a atacar
X = Territorio[Z-1].Soldados + Territorio[Z+1].Soldados;//soldados totales
if (Territorio[Z].Soldados > 2*X){
ActualizarTabla(STerritorio ,Z,X);
}
}
}
}


void ActualizarTabla(STerritorio &T, int Z, int X){
for(c=0;c<=N;c++){
if (c==Z-1)
Territorio.Soldados = X;
else if (c>Z-1)
Territorio.Soldados = Territorio[c+2].Soldados
else if (c<Z-1)
Territorio.Soldados = Territorio.Soldados
}
}