Lista doble base de datos
Enviado por alfonso.c • 9 de Septiembre de 2019 • Prácticas o problemas • 613 Palabras (3 Páginas) • 88 Visitas
#include<iostream>
using namespace std;
class Nodo
{
private:
int edad,id;
string nom,dir,tel,email;
Nodo*sig,*ant;
public:
Nodo()
{
edad=id=0;
nom=dir=tel=email=" ";
ant=sig=NULL;
}
void lee()
{
cout<<"ID: ";cin>>id;
cout<<"NOMBRE: ";fflush(stdin);getline(cin,nom);
cout<<"DIRECCION: ";fflush(stdin);getline(cin,dir);
cout<<"EMAIL: ";fflush(stdin);getline(cin,email);
cout<<"TELEFONO: ";fflush(stdin);getline(cin,tel);
cout<<"EDAD: ";cin>>edad;
}
int Id()
{
return id;
}
int Edad()
{
return edad;
}
string Nombre()
{
return nom;
}
string Direccion()
{
return dir;
}
string Email()
{
return email;
}
string Telefono()
{
return tel;
}
Nodo *Sig()
{
return sig;
}
Nodo *Ant()
{
return ant;
}
void SigApunta(Nodo *nodo)
{
sig=nodo;
}
void AntApunta(Nodo *nodo)
{
ant=nodo;
}
};
class lista
{
private:
Nodo *inicio1,*inicio2;
public:
lista()
{
inicio1=inicio2=NULL;
}
void inserta_ini_izq() //1er INSERTA
{
Nodo *nuevo=new Nodo;
nuevo->lee();
if(inicio1==NULL && inicio2==NULL)
inicio1=inicio2=nuevo;
else
{
Nodo *nuevo=new Nodo;
nuevo->lee();
if(inicio1==NULL&&inicio2==NULL)
inicio1=inicio2=nuevo;
else
{
nuevo->SigApunta(inicio1);
inicio1->AntApunta(nuevo);
inicio1=nuevo;
}
}
cout<<"\n ***INFORMACION INGRESADA*** \n";
muestra();
system("pause");
}
void inserta_ini_der() //2do INSEERTA
{
Nodo *nuevo=new Nodo;
nuevo->lee();
if(inicio1==NULL&&inicio2==NULL)
inicio1=inicio2=nuevo;
else
{
nuevo->AntApunta(inicio2);
inicio2->SigApunta(nuevo);
inicio2=nuevo;
}
cout<<"\n ***INFORMACION INGRESADA*** \n";
muestra();
system("pause");
}
void
...