C++ 不在函数中输入

C++ 不在函数中输入,c++,function,struct,C++,Function,Struct,在过去的两天里,我一直在尝试结束这个程序,主要的是当程序中有一个egirCamiorDenat时,程序本身不会通过primercami函数。你知道吗 cami*primercami(cami*primero, int origen){ new cami; primero->n_aeropuertos=1; primero->pos_aeropuertos[0]=origen; primero->coste_acumulado=0; primero->coste_heuri

在过去的两天里,我一直在尝试结束这个程序,主要的是当程序中有一个egirCamiorDenat时,程序本身不会通过primercami函数。你知道吗

cami*primercami(cami*primero, int origen){
new cami;
primero->n_aeropuertos=1;
primero->pos_aeropuertos[0]=origen;
primero->coste_acumulado=0;
primero->coste_heuristica=0;
primero->next=NULL;
return primero;
}

cami*AfegirCamiOrdenat (cami* primerolista, cami*nuevoelemento){
cami *ant;
cami *act;
int correcto;
cout<<"Hola estoy ordenando el camino"<<endl;

    if (nuevoelemento == NULL)
    {
        correcto = 0;       //retorna falso si el nuevo elemento no se ha creado bien
    }
    else{                  //si la lista esta vacía el nuevo elemento será el primero
            if(primerolista==NULL)
            {
                primerolista = nuevoelemento;
                primerolista->next = NULL;

    }else                  //busca la posición donde ha de ir el elemento
        {
            ant = NULL;
            act = primerolista;
            while (act->coste_heuristica < nuevoelemento->coste_heuristica && act->next != NULL ) //parar si se llega a la posición donbde insertar o al último elemento
            {
                ant = act;
                act = act->next;
                }
                if (ant == NULL && act->coste_heuristica >= nuevoelemento->coste_heuristica)  //insertar como primer elemento
                    {
                primerolista = nuevoelemento;
                nuevoelemento->next=act;
                }
                else
                    {
                        if (act->next == NULL && act->coste_heuristica<nuevoelemento->coste_heuristica) //insertar como último elemento
                        {
                            act->next=nuevoelemento;
                nuevoelemento->next = NULL;
                }
                else                                //insertar al medio de la lista
                {
                    nuevoelemento->next = act;
                    ant->next=nuevoelemento;
                }
            }
        }
        correcto=1;
    }
    return primerolista;
}
void AEstrella(char lista[24][4], int matPrecio[25][25], int matDist[25][25], int matTiempo[25][25]){
int NumOrigen, NumDestino;
cami*primerelemento;
preguntarVuelo(lista, NumOrigen, NumDestino);
cout<<"El origen es el n "<<NumOrigen<<" y el destino el n "<<NumDestino<<endl;
primerelemento=primercami(primerelemento, NumOrigen);
cout<<"He pasado primercami"<<endl;
while(primerelemento->pos_aeropuertos[primerelemento->n_aeropuertos-1]!=NumDestino){
     cami*expansio;
     cami*expansio2;
     int PosAct=primerelemento->pos_aeropuertos[primerelemento->n_aeropuertos-1];//Determinamos en el APT que nos encontramos
     expansio=primerelemento;
     expansio2=primerelemento;
     expansio->next=NULL;
     expansio2->next=NULL;
     primerelemento=primerelemento->next;
     int Dest1, Dest2;
     mostrarDestinos(vectorVuelos,lista,PosAct,Dest1, Dest2);
     //Expandimos para el primer destino encontrado
     coste_vuelo=matPrecio[PosAct][Dest1];
     heuristica=matPrecio[Dest1][NumDestino];
     ActualitzarCami(expansio, Dest1, coste_vuelo, heuristica);
     cout<<"Coste acumulado: "<<expansio->coste_acumulado<<" Coste heuristica: "<<expansio->coste_heuristica<<endl;
     cout<<"N APTS: "<<expansio->n_aeropuertos<<"  Ultimo APT: "<<expansio->pos_aeropuertos[expansio->n_aeropuertos-1]<<endl;
     primerelemento=AfegirCamiOrdenat(primerelemento, expansio);
     cout<<"Hemos pasado por "<<primerelemento->pos_aeropuertos[0]<<" "<<primerelemento->pos_aeropuertos[1]<<endl;
     //expandimos para el segundo destino encontrado
     coste_vuelo=matPrecio[PosAct][Dest2];
     heuristica=matPrecio[Dest2][NumDestino];
     ActualitzarCami(expansio2, Dest2, coste_vuelo, heuristica);
     primerelemento=AfegirCamiOrdenat(primerelemento, expansio2);

}//while buscando destino
primerelemento=imprimirllistaCami(primerelemento);
esborrarlista(primerelemento);
}
cami*primercami(cami*primero,int-origen){
新卡米;
primero->n_aeropuertos=1;
primero->pos_aeropuertos[0]=原发性;
primero->coste_acumulado=0;
primero->coste_heuristica=0;
primero->next=NULL;
返回primero;
}
cami*AfegirCamiOrdenat(cami*primerolista、cami*Nuevolemento){
卡米*蚂蚁;
cami*法案;
国际更正;
coutnext!=NULL)//parar si se llega a la posición donbde insertar o alúltimo elemento
{
蚂蚁=行动;
act=act->next;
}
if(ant==NULL&&act->coste_heuristica>=nuevolemento->coste_heuristica)//insertar como primer elemento
{
primerolista=新元素;
新元素->下一步=行动;
}
其他的
{
if(act->next==NULL&&act->coste_heuristica coste_heuristica)//insertar comoúltimo elemento
{
act->next=新元素;
新元素->下一步=空;
}
else//insertar al-medio de la lista
{
新元素->下一步=行动;
ant->next=Nuevolemento;
}
}
}
校正=1;
}
返回primerolista;
}
void AEstrella(char lista[24][4]、int matPrecio[25][25]、int matDist[25][25]、int matTiempo[25][25]){
内努莫里根,努姆德斯蒂诺;
cami*primerelemento;
preguntarVuelo(lista、NumOrigen、NumDestino);

你有没有试过用调试器调试它,然后逐条检查代码?请仔细阅读,这里的“主要内容”是没有
main
main,因为它现在唯一做的事情就是调用void AEstrella,很抱歉没有提前说出来。