Problema Implementacion Cola Dinamica
Publicado por Carlos (1 intervención) el 09/12/2006 20:23:56
Hola Estimados, les escribo porque debo presentar un trabajo en una semana (una simulacion del
funcionamiento de Internet), y estoy atasacado. Aca envio las tres clases involucradas en la
parte que no me funciona:
Un TERMINAL crea un MENSAJE nuevo, y ese mensaje debe ser puesto en la COLA de salida del TERMINAL.
Esta marcada la linea que me da error. El problema es que el Dev C no me muestra entero el
mensaje de error, y estoy totalmente desorientado cual puede ser el problema.
Uso Dev-C++ 4.9.8.0
Desde ya MUCHISIMAS GRACIAS, y espero me puedan enviar una luz al final del camino
Un abrazo
Carlos
// Clase : MENSAJE ----comienzo--------------------------
class Mensaje
{
protected:
short ROrigen;
short TOrigen;
int Tamanio;
int CantPaquetes;
int NumMensaje;
int NumPaquete;
short RDestino;
short TDestino;
public:
Mensaje();
Mensaje(short CodeR,short CodeT,int NumeroMensaje);
Mensaje(short CodeR,short CodeT,int NumeroMensaje,int CantidadPaq,int NumeroPaquete, short RDest, short TDest);
int getTamanio();
};
Mensaje::Mensaje()
{
};
Mensaje::Mensaje(short CodeR,short CodeT,int NumeroMensaje)
{
ROrigen=CodeR;
TOrigen=CodeT;
RDestino=rand()%CantRouters + 1;
TDestino=rand()%CantTerminales[CodeR] + 1;
Tamanio=rand()%1000 + 1;
};
Mensaje::Mensaje(short CodeR,short CodeT,int NumeroMensaje,int CantidadPaq,int NumeroPaq, short RDest, short TDest)
{
ROrigen=CodeR;
TOrigen=CodeT;
CantPaquetes= CantidadPaq;
NumPaquete=NumeroPaq;
RDestino=RDest;
TDestino=TDest;
};
int Mensaje::getTamanio()
{
return Tamanio;
};
// Clase : MENSAJE ----final-----------------------------
// Clase : COLA -------comienzo--------------------------
struct nodo {
Mensaje info;
struct nodo *sig;
};
typedef struct nodo *punteroaNodo;
punteroaNodo getNodo(void)
{
punteroaNodo p;
p=(punteroaNodo)malloc(sizeof(struct nodo));
return(p);
};
void liberarNodo(punteroaNodo p)
{
free(p);
}
class Cola
{
private:
punteroaNodo frente, fondo;
public:
Cola();
void poner(Mensaje dato);
Mensaje sacar();
int vacia();
};
Cola::Cola()
{
frente=NULL;
fondo=NULL;
};
void Cola::poner(Mensaje dato)
{
punteroaNodo p;
p=getNodo();
p->info=dato;
p->sig=NULL;
if(fondo==NULL)
frente=p;
else
(fondo)->sig=p;
fondo=p;
};
Mensaje Cola::sacar()
{
punteroaNodo p;
Mensaje dato;%
funcionamiento de Internet), y estoy atasacado. Aca envio las tres clases involucradas en la
parte que no me funciona:
Un TERMINAL crea un MENSAJE nuevo, y ese mensaje debe ser puesto en la COLA de salida del TERMINAL.
Esta marcada la linea que me da error. El problema es que el Dev C no me muestra entero el
mensaje de error, y estoy totalmente desorientado cual puede ser el problema.
Uso Dev-C++ 4.9.8.0
Desde ya MUCHISIMAS GRACIAS, y espero me puedan enviar una luz al final del camino
Un abrazo
Carlos
// Clase : MENSAJE ----comienzo--------------------------
class Mensaje
{
protected:
short ROrigen;
short TOrigen;
int Tamanio;
int CantPaquetes;
int NumMensaje;
int NumPaquete;
short RDestino;
short TDestino;
public:
Mensaje();
Mensaje(short CodeR,short CodeT,int NumeroMensaje);
Mensaje(short CodeR,short CodeT,int NumeroMensaje,int CantidadPaq,int NumeroPaquete, short RDest, short TDest);
int getTamanio();
};
Mensaje::Mensaje()
{
};
Mensaje::Mensaje(short CodeR,short CodeT,int NumeroMensaje)
{
ROrigen=CodeR;
TOrigen=CodeT;
RDestino=rand()%CantRouters + 1;
TDestino=rand()%CantTerminales[CodeR] + 1;
Tamanio=rand()%1000 + 1;
};
Mensaje::Mensaje(short CodeR,short CodeT,int NumeroMensaje,int CantidadPaq,int NumeroPaq, short RDest, short TDest)
{
ROrigen=CodeR;
TOrigen=CodeT;
CantPaquetes= CantidadPaq;
NumPaquete=NumeroPaq;
RDestino=RDest;
TDestino=TDest;
};
int Mensaje::getTamanio()
{
return Tamanio;
};
// Clase : MENSAJE ----final-----------------------------
// Clase : COLA -------comienzo--------------------------
struct nodo {
Mensaje info;
struct nodo *sig;
};
typedef struct nodo *punteroaNodo;
punteroaNodo getNodo(void)
{
punteroaNodo p;
p=(punteroaNodo)malloc(sizeof(struct nodo));
return(p);
};
void liberarNodo(punteroaNodo p)
{
free(p);
}
class Cola
{
private:
punteroaNodo frente, fondo;
public:
Cola();
void poner(Mensaje dato);
Mensaje sacar();
int vacia();
};
Cola::Cola()
{
frente=NULL;
fondo=NULL;
};
void Cola::poner(Mensaje dato)
{
punteroaNodo p;
p=getNodo();
p->info=dato;
p->sig=NULL;
if(fondo==NULL)
frente=p;
else
(fondo)->sig=p;
fondo=p;
};
Mensaje Cola::sacar()
{
punteroaNodo p;
Mensaje dato;%
Valora esta pregunta
0