Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema al compilar un programa

Estas en el tema de Problema al compilar un programa en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 06/04/2013, 08:33
 
Fecha de Ingreso: abril-2013
Mensajes: 1
Antigüedad: 11 años, 7 meses
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
}
}
  #2 (permalink)  
Antiguo 07/04/2013, 16:18
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 10 meses
Puntos: 94
Respuesta: Problema al compilar un programa

Hola! varias variables no estan declaradas correctamente, por ejemplo Z y X son locales al main por lo cual no podes usarlas en cualquier funcion; para eso tenes que declararlas globales como lo hiciste con N


Saludos

Etiquetas: arrays, c++, compilar, struct
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:46.