#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <iostream.h>
struct agenda {
char nombre[40];
char apellido[40];
char telefono[40];
struct agenda *siguiente;
struct agenda *anterior;
};
agenda *actual=NULL;
agenda *ultimo;
agenda *inicio;
agenda *fin;
int main()
{
int opcion;
do{
clrscr();
cout<<"\t AGENDA\n";
cout<<"\n Seleccione Acci¢n\n";
cout<<"\n 1.-Ingresar Contacto\n";
cout<<"\n 2.-Mostrar Agenda\n";
cout<<"\n 3.-Salir\n";
cout<<"\nOpcion: ";
scanf("%d",&opcion);
getchar();
if(opcion>=4)
{
clrscr();
printf("Opcion Incorrecta");
getch();
}
else
{
switch (opcion) {
case 1 :
clrscr();
char tempnombre[40],tempapellido[40],temptelefono[40];
printf("\tINGRESAR\n");
cout<<"\nDigite Nombre: ";
scanf("%s",tempnombre);
cout<<"\nDigite Apellido: ";
scanf("%s",tempapellido);
cout<<"\nDigite Telefono: ";
scanf("%s",temptelefono);
clrscr();
if(actual==NULL)
{
actual=new agenda;
actual->siguiente=actual->anterior=NULL;
strcpy(actual->nombre,tempnombre);
strcpy(actual->apellido,tempapellido);
strcpy(actual->telefono,temptelefono);
}
else
{
agenda *ultimo=actual;
while((ultimo->siguiente!=NULL)&&(strcmp(ultimo->nombre,tempnombre)!=0))
{
ultimo=ultimo->siguiente;
}
if(strcmp(ultimo->nombre,tempnombre)==0)
{
strcpy(ultimo->nombre,tempnombre);
}
else
{
ultimo->siguiente=new agenda;
ultimo->siguiente->siguiente=NULL;
ultimo->siguiente->anterior=ultimo;
ultimo=ultimo->siguiente;
strcpy(ultimo->nombre,tempnombre);
strcpy(ultimo->apellido,tempapellido);
strcpy(ultimo->telefono,temptelefono);
}
cout<<"\n\n";
}//finaliza else
break;
case 2 :
int opcion1;
clrscr();
printf("\tContactos\n\n");
if(actual==NULL)
{
cout<<"La Lista esta Vacia";
}
else
{
agenda *actuall=actual;
cout<<"Nombre: "<<actuall->nombre<<" "<<actuall->apellido<<"\n";
cout<<"Telefono: "<<actuall->telefono<<"\n";
printf("\n");
do
{
cout<<"\n 1.-Atras ";cout<<"2.-Siguiente ";cout<<"3.-Salir ";
cout<<" ";
scanf("%d",&opcion1);
cout<<"\n";
switch (opcion1)
{
case 1 :
{
actuall=actuall->anterior;
cout<<"Nombre: "<<actuall->nombre<<" "<<actuall->apellido<<"\n";
cout<<"Telefono: "<<actuall->telefono<<"\n";
printf("\n");
}
break;
case 2 :
{
actuall=actuall->siguiente;
cout<<"Nombre: "<<actuall->nombre<<" "<<actuall->apellido<<"\n";
cout<<"Telefono: "<<actuall->telefono<<"\n";
printf("\n");
}
break;
case 3 :
{
printf("Saliendo");
opcion1=3;
}
break;
}//fin del swith
}//fin del do
while(opcion1!=3);
}
clrscr();
break;
case 3 :
{
clrscr();
printf("Fin del Programa");
opcion=3;
getch();
}
break;
}//fin de switch
}//fin del else
}//fin de do
while(opcion!=3);
return(0);
}//fin del main