/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Ayuda en C++ Builder 6

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
renomber



Registrado: 08 Sep 2007
Mensajes: 1

MensajePublicado: 08/09/2007 10:24 am
Título: Ayuda en C++ Builder 6

Hola, ante todo disculpen si incumplo con alguna regla es que soy nuevo y no sé donde debería estar escrito esto.

Estoy haciendo un proyecto de la escuela en c++ builder, el programa me compila bien, abre bien, entran los datos( o eso creo) y cuando le doy a mostrar un dato, me sale del programa y me da un debugger exception notification. Ya probé insertándole return 0 y nada. Gracias de Antemano.


aquí les escribo el .cpp donde me marca el problema:

//------------------------------
//--Implementación de TEquipo --
//------------------------------
TEquipo::TEquipo(String aCodigo, float aPrecio)
{
fCodigo=aCodigo;
fPrecio=aPrecio;
}

String TEquipo::Codigo()
{
return fCodigo;
}
void TEquipo::Codigo(String aCodigo)
{
fCodigo=aCodigo;
}
float TEquipo::Precio()
{
return fPrecio; //aqui me señala el problema
}
void TEquipo::Precio(float aPrecio)
{
fPrecio=aPrecio;
}

//------------------------------
//-- Implementación de Tienda --
//------------------------------
TTienda::TTienda(int aCantEquipos)
{
fCantEquipos = aCantEquipos;
}

void TTienda::CantEquipos(int aCantidad)
{
fCantEquipos = aCantidad;
}

int TTienda::CantEquipos()
{
return fCantEquipos;
}

//Escribir todos los elementos de la matriz.
void TTienda::SetVentas(float aVentas[Max_Filas][Max_Columnas])
{
fVentas->SetArreglo(aVentas);
}

//Recoger todos los elementos de la matriz en la matriz aVentas.
void TTienda::GetVentas(float aVentas[Max_Filas][Max_Columnas])
{
fVentas->GetArreglo(aVentas);
}

//Escribir una valor en una posición de la matriz (Escribir un elemento).
void TTienda::Venta(int fil, int col, float valor)
{
fVentas->SetElemento(fil, col, valor);
}

//Recoger el valor almacenado en una posición de la matriz (celda [fil, col])
float TTienda::Venta(int fil, int col)
{
fVentas->GetElemento(fil, col);
return 0;
}

//Escribir todos los elementos en el arreglo de punteros a TEquipo.
/*void TTienda::SetEquipos(TEquipo* aEquipos[Max_Filas])
{
for(int i = 0; i <= fCantEquipos - 1; i++)
{
fEquipos = aEquipos[i];
}
}


//Devolver todos los elementos en el arreglo de punteros a TEquipo.
void TTienda::GetEquipos(TEquipo* aEquipos[Max_Filas])
{
for(int i = 0; i<=fCantEquipos - 1; i++)
{
fEquipos[i] = aEquipos[i];
}
}

//Escribir un elemento del arreglo (sería un puntero a la clase TEquipo)
void TTienda::Equipo(int index, TEquipo* aEquipos)
{
fEquipos[index] = aEquipos;
}

//Devolver un puntero a un elemento de la clase TEquipo (elemento del arreglo de equipos).
TEquipo* TTienda::Equipo(int index)
{
return fEquipos[index];
}*/
void TTienda::addCod(String aCodigo)
{
TEquipo* Temp=new TEquipo(aCodigo);
fEquipos[fCantEquipos++]=Temp;
}

void TTienda::addPre(float aPrecio)
{
TEquipo* Temp=new TEquipo(aPrecio);
fEquipos[fCantEquipos++]=Temp;
}

//Buscar la posición en el arreglo dado el código;
int TTienda::BuscaEquipo(String aCodigo)
{
for(int i = 0; i <= fCantEquipos - 1; i++)
{
//Se accede al codigo a través del procedimiento que lo devuelve Codigo();
if(fEquipos[i]->Codigo() == aCodigo)
{
return i;
}
}
return 0;
}

float TTienda::VerPrecio(String aCodigo)
{
int pos= BuscaEquipo(aCodigo);
if(pos>=0)return fEquipos[pos]->Precio();
else return pos;
}
//Version 1//Devolver el valor de las ventas de un equipo dado en la semana.
/*float TTienda::PromedioSemanalVentas(int pos)
{
return fVentas.Promedio(i, 0, i, fVentas.CantColumnas());
}*/

//Version 2//Devolver el valor de las ventas de un equipo dado en la semana.
float TTienda::PromedioSemanalVentas (String aCodigo)
{
int filaEquipo = BuscaEquipo(aCodigo);
return fVentas->Promedio(filaEquipo, 0, filaEquipo, fVentas->GetCantColumna());
}

//Devolver los códigos de los 3 equipos de mayor venta en la semana.
/*void TTienda::MayoresVentasSemanal(String equipos[3])
{
//Arreglo temporal para almacenar el total de ventas semanales de los equipos.
float temp[CantEquipos];
int pos[CantEquipos]; //Arreglo temporal para las posiciones.
int posTemp; //variable para almacenar de manera temporal una posición.
float valorTemp; //variable para almacenar de manera temporal una venta.
//Ciclo para obtener las ventas totales por equipo y guardarlas en el
arreglo temp[].
for(int i = 0; i <= fCantEquipos - 1; i++)
{
temp[i] = fVentas.Suma(i, 0, i, fVentas.CantColumnas);
pos[i] = i; //Inicialmente quedaría [0,1,2,3,4,5…CantEquipos]
}
//Organizar en otro arreglo las posiciones de los elementos.
for (int j= 1; j <= CantEquipos - 1; j++)
{
for(int i = 0; i <= CantEquipos; i++)
{
if (temp[i] <= temp[i+1])
{
//Cambio los valores de posición.
valorTemp = temp[i];
temp[i] = temp[i+1];
temp[i+1] = valorTemp;
//Intercambio las posiciones de los equipos cuyas ventas ya cambié anteriormente.
posTemp = pos[i];
pos[i] = pos[i+1];
pos[i+1] = pos[i+1];
}
}
}

//Por último se toman los tres primeros códigos correspondientes a los equipos de mayores ventas.
for(int i = 0; i <= 3 -1; i++)
{
int k = pos[i];
equipos[i] = fEquipos[k]->Codigo();
}
}*/

Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com