Estructura + Nodos
Hola gente de C/C++ , porfa ayudenme con un problema, quiero usar una estructura de datos, pero que se enliste como una lista enlazada(con nodos). Por ejemplo en el codigo de abajo creo la estructura: pero.... (mas abajo explico..)
-----------------------------------------------
struct profesor
{
char titulo [25];
char autor [20];
int num_pag ;
float pvp;
]
void main(void)
{
struct profesor libros [10] //declaro
int total=0;
int i= 0;
char resp;
do
{
cout <<"Total libros: " << (total + 1)<<endl;
cin >>libro[total].titulo;
cout<<endl<<"mas s/n" ;
resp=toupper(resp);
if(resp=='S')
total++;
}
while (resp=='S')
}
------------------------------------------------------
... como puedo ahora juntar esta estructura que se vaya grabando como un nodo???? hice esto pero no me corrio cuando quize ingresar los datos.
--------------------------------------------
*typedef struct profesor
{
char* nom;
char* sex;
int edad;
struct profesor *sig;
} PROFESOR;
struct nodo
{
PROFESOR info;
struct nodo *sig;
};
-------------------------------------------
Que alguien me ayude, que necesito hacer este programa para mi nota, y que funcione con estrcuturas, pero como una lista enlazada (nodo) , los cuales tendran un menu (de ingreso, borrar o buscar) .. si laguine tien un script parecido que funcione y en tal caso lo adecuo. GrACIAS
SI lo que hiciste si funciona, pero como ahora ingreso un dato? .. como nodo.edad ?? . Yo hice esto pero me sale siempre errores. SI alguien tiene unn script , para ingresar los datos via teclado...
segun el ejemplo anterior
//declarar nuevo nodo
profesor *nodo=new profesor;
nodo->pSiguiente=NULL;
//cargar sus datos
cout<<"intro edad"<<endl;
cin>>nodo->edad;
pFinal->pSiguiente=nodo;
pFinal=nodo;
//declarar nuevo nodo
profesor *nodo=new profesor;
nodo->pSiguiente=NULL;
//cargar sus datos
cout<<"intro edad"<<endl;
cin>>nodo->edad;
pFinal->pSiguiente=nodo;
pFinal=nodo;
Puedes hacer esto
struct profesor
{
char titulo [25];
char autor [20];
int num_pag ;
float pvp;
profesor *pSiguiente;
};
Cuando crees cada nodo (profesor) tienes que apuntar el pSiguiente a NULL y acceder al puntero siguiente del ultimo nodo y asignarle la direccion del nodo creado.
De esta manera cada nodo apuntara el siguiente en la lista, y con un puntero puedes recorrer la lista
profesor Inicio;
Inicio.pSiguiente=NULL;
profesor *pInicial=Inicio;
profesor *pFinal=Inicio;
//crear nuevo nodo
profesor *nuevo=new profesor;
iniciar datos
nuevo->pSiguiente=NULL;
pFinal->pSiguiente=nuevo;
//recorrer la lista
profesor *pR=Inicio;
while(pr)
{
manipular datos;
pr=pr->pSiguiente;
}
Mas o menos es eso...
struct profesor
{
char titulo [25];
char autor [20];
int num_pag ;
float pvp;
profesor *pSiguiente;
};
Cuando crees cada nodo (profesor) tienes que apuntar el pSiguiente a NULL y acceder al puntero siguiente del ultimo nodo y asignarle la direccion del nodo creado.
De esta manera cada nodo apuntara el siguiente en la lista, y con un puntero puedes recorrer la lista
profesor Inicio;
Inicio.pSiguiente=NULL;
profesor *pInicial=Inicio;
profesor *pFinal=Inicio;
//crear nuevo nodo
profesor *nuevo=new profesor;
iniciar datos
nuevo->pSiguiente=NULL;
pFinal->pSiguiente=nuevo;
//recorrer la lista
profesor *pR=Inicio;
while(pr)
{
manipular datos;
pr=pr->pSiguiente;
}
Mas o menos es eso...
