gracias!!!! era eso....
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
struct Resumen_Paciente
{
string Clave;
int Total_resNormales;
int Total_resAnormales;
};
typedef ArbolBB<Resumen_Paciente> arbolbb;
typedef nodo<Resumen_Paciente> *ApuntadorBB;
void Resumen_Resultado(arbolbb &arbolBB, Pila<OrdenExamen> &pila,ListaDob<Det_Examen> *listaDetalle)
{
Pila<OrdenExamen> aux;
nodo2<Det_Examen> *p;
ApuntadorBB ap;
OrdenExamen ObjOrden;
Det_Examen ObjDetalle;
Resumen_Paciente ObjResumen;
int acumNormal = 0;
int acumAnormal = 0;
ap = arbolBB.ObtRaiz();
while( !pila.Vacia() )
{
pila.Remover(ObjOrden);
aux.Insertar(ObjOrden);
p = listaDetalle->ObtPrimero();
do
{
if( ObjDetalle.getValor() == "normal" )
{
acumNormal++;
p = listaDetalle->ObtDer(p);
}
else
{
acumAnormal++;
p = listaDetalle->ObtDer(p);
}
} while( p != listaDetalle->ObtPrimero() );
ObjResumen.Clave = ObjOrden.getCedula();
ObjResumen.Total_resAnormales = acumNormal;
ObjResumen.Total_resNormales = acumAnormal;
arbolBB.Insertar(ap,ObjResumen);
}
arbolBB.AsigRaiz(ap);
}
template <class Tipo>
bool ArbolBB<Tipo>::Insertar(nodo<Tipo>* &p,Tipo valor) //El insertar lo hace en las hojas
{
Apuntador auxp,nuevo,ant;
Tipo auxiliar;
auxp=p;
nuevo = CrearNodo(valor);
if (p==NULL) //si esta vacio el arbol
p=nuevo;
else
while (auxp!=NULL)
{
auxiliar = ObtInfo(auxp);
if (valor.Clave() == auxiliar.Clave())
return false;
else
if (valor.Clave() < auxiliar.Clave()) {
ant=auxp;
//auxp=ObtIzq(auxp);
auxp = auxp->Izq; //si puedo hacer esto
if (auxp==NULL)
InsHijoIzq(ant,valor); }
else {
ant=auxp;
auxp=ObtDer(auxp);
if (auxp==NULL)
InsHijoDer(ant,valor); };
};
return true;
};