Вы находитесь на странице: 1из 5

Algoritmos y Estructuras de Datos

Lic.!en!Admiracin!en!IT!
Practica:!Listas!Enlazadas!!
!
!
Javier'Alberto'Martnez'Guadarrama'
Clave:'14911818'
!
1. Funcin!Men!
Prueba(s)!
void!menu(){!
!!!!!int!opc,numero;!
!!!!!do{!
!!!!!cout<<endl<<"\n\t!Listas!Enlazadas!";!
!!!!!cout<<endl<<"\n\t!Menu!de!Opciones!"<<endl;!
!!!!!cout<<"\n\t!1.!Insertar";!
!!!!!cout<<"\n\t!2.!Mostrar";!
!!!!!cout<<"\n\t!3.!Buscar";!
'
!!!!!cout<<"\n\t!4.!Modificar";!
!!!!!cout<<"\n\t!5.!Eliminar";!
!!!!!cout<<"\n\t!6.!Salir";!
!!!!!cout<<endl<<"\n\n\tIngrese!opcion!:!";!
!!!!!cin>>opc;!
!!!!!clrscr();!
!!!!!switch(opc){!
!!!!!case!1:!cout<<"\n\t!Ingrese!Numero!:!";!
!!!!!!!!!!!!!cin>>numero;!
!!!!!!!!!!!!!insertar(numero);!
!!!!!!!!!!!!!//getch();!
!!!!!!!!!!!!!clrscr();!
!!!!!!!!!!!!!break;!
!!!!!case!2:mostrar();getch();clrscr();break;!
!!!!!case!3:cout<<"\n\t!Ingrese!Numero!a!Buscar!:!";!
!!!!!!!!!!!!!cin>>numero;!
!!!!!!!!!!!!!buscar(numero);getch();clrscr();break;!
!!!!!case!4:cout<<"\n\t!Ingrese!Numero!a!Modificar!:!
";!
!!!!!!!!!!!!!cin>>numero;!
!!!!!!!!!!!!!modificar(numero);getch();clrscr();break;!
!!!!!case!5:cout<<"\n\t!Ingrese!Numero!a!Eliminar!:!";!
!!!!!!!!!!!!!cin>>numero;!
!!!!!!!!!!!!!eliminar(numero);getch();clrscr();break;!
!!!!!}!
!!!!!}while(opc!=6);!
!}!
!int!main()!{!
!!!!!menu();!
!}!
Anlisis!del!!resultado:!
Se!realiza!una!interfaz!grafica!para!el!usuario!de!forma!navegable,!fcil!de!usar!y!entender.!Cumpliendo!
con!las!funciones!bsicas!de!una!base!de!datos;!as!mismo!relacionando!cada!opcin!como!un!caso!que!
interacta!con!la!funcin!llamada.!
!
!

!
2. Main!y!estructura!del!programa!
Prueba(s)!
#include!<iostream>!
'
#include!<stdlib.h>!
#include!<stdio.h>!
#include!<string.h>!!
#include!<conio.h>!
using!namespace!std;!
struct!nodo{!
!!!!!!!int!nro;!
!!!!!!!nodo!*sgte;!
!!};!
struct!nodo!*pi,!*pa,!*pf;!
!!!
void!menu();!
void!insertar(int);!
void!mostrar();!
void!buscar();!
void!eliminar();!
void!modificar();!
void!clrscr();!
void!clrscr(){!
!!!!!!system("cls");!
!!}!
Anlisis!de!resultados:!
Aqu!se!hace!llamado!a!las!libreras!necesarias!para!ejecutar!el!programa,!el!uso!de!un!namespace!para!el!
uso!adecuado!de!las!funciones!y!las!funciones!(void)!requeridas!para!que!el!programa!se!ejecute!
satisfactoriamente!
!
!
3. Funcin!Insertar!!
Prueba(s)!
void'insertar(int'numero){'
!
''''''if(pi==NULL){'
''''''''''pi=new(nodo);'
''''''''''piG>nro=numero;'
''''''''''pf=pi;'
''''''}'
''''''else{'
'
''''''''''pa=new(nodo);'
''''''''''pfG>sgte=pa;'
''''''''''paG>nro=numero;'
''''''''''pf=pa;'
''''''}'
''''''pfG>sgte=NULL;'
''}!
Anlisis!del!resultado:!
Se!le!pide!al!usuario!que!ingrese!por!teclado!un!nmero!para!almacenarlo!en!la!lista,!si!es!el!primer!dato!
en!la!lista!crea!la!lista!y!el!dato!de!una!vez.!
!
!
!

!
4. Funcin!Mostrar!
Prueba(s)!
void!mostrar(){!
!!!!!!pa=pi;!
!!!!!!if(pi==NULL)!
!!!!!!{!
!!!!!!!!!!cout<<"\n\t!lista!vacia";!
!!!!!!}!
'
!!!!!!while(pa!=NULL){!
!!!!!!!!!!cout<<endl<<"!\td>!"<<pad>nro;!
!!!!!!!!!!pa=pad>sgte;!
!!!!!!}!
!!}!
Anlisis!de!resultados:!
Muestra!todos!los!datos!en!pantalla!que!existen!en!la!lista,!si!no!existe!ningn!dato!se!le!informara!que!la!
lista!esta!vacia!
!
!
5. Enunciado!Buscar!
Prueba(s)!
void!buscar(int!numero){!
!
!!!!!!int!flag=0;!
!!!!!!pa=pi;!
!!!!!!if(pi==NULL)!
!!!!!!{!
!!!!!!!!!!cout<<"\n\t!lista!vacia";!
!!!!!!}!
!!!!!!else!
!!!!!!{!
!!!!!!/*cout<<endl<<"\n\t!Ingrese!numero!a!buscar!
:";!
!!!!!!cin>>nro_buscar;*/!
!!!!!!while(pa!=NULL){!
!!!!!!!!!!if(numero==pad>nro){!
!!!!!!!!!!!!!!cout<<endl<<"\n\t!Valor!encontrado!:!
"<<pad>nro;!
!!!!!!!!!!!!!!flag=1;!
!!!!!!!!!}!
!!!!!!!!!!pa=pad>sgte;!
!!!!!!}!
!!!!!!if(flag==0){!
!!!!!!!!!!cout<<endl<<"\n\t!El!numero!no!fue!
encontrado";!
!!!!!}!
!!!!!!}!
!!}!
Anlisis!de!resultados:!
Esta!funcin!realiza!una!bsqueda!secuencial!!en!la!lista,!si!existe!una!lista!buscara!uno!por!uno!el!dato!
solicitado;!si!no!existe!una!lista!mostrar!por!pantalla!que!no!hay!datos!existentes.!
!
!
!

'

!
6. Funcin!Modificar!!
Prueba(s)!
void!modificar(int!numero){!
!
!!!!!!pa=pi;!
!!!!!!if(pi==NULL)!
!!!!!!{!
!!!!!!!!!!cout<<"\n\t!lista!vacia";!
!!!!!!}!
!!!!!!else!
!!!!!!{!
!!!!!int!nro_mod,flag=0;!
'
!!!!!!/*cout<<endl<<"\n\t!Ingrese!numero!a!
modificar!:";!
!!!!!!cin>>nro_mod;*/!
!!!!!!while(pa!=NULL){!
!!!!!!!!!!if(numero==pad>nro!&&!flag==0){!
!!!!!!!!!!!!!!cout<<endl<<"\n\t!Valor!Encontrado!:!
"<<pad>nro;!
!!!!!!!!!!!!!!cout<<endl<<"\n\t!Ingrese!nuevo!valor!
:";!
!!!!!!!!!!!!!!cin>>pad>nro;!
!!!!!!!!!!!!!!flag=1;!
!!!!!!!!!!}!
!!!!!!!!!!pa=pad>sgte;!
!!!!!!}!
!!!!!!if(flag==0){!
!!!!!!!!!!cout<<endl<<"\n\t!El!numero!no!fue!
encontrado";!
!!!!!!}!
!!!!!!}!
!!!!!!pa=pi;!
!!}!
Anlisis!de!resultados:!
Realiza!una!bsqueda!del!dato!o!numero!el!cual!se!quiere!modificar,!si!existe!el!programa!le!permite!
ingresar!un!valor!nuevo!para!el!dato!y!as!almacenarlo;!si!a!la!hora!de!ingresar!el!valor!a!modificar!este!no!
existe!el!programa!le!indicar!que!no!se!encuentra!dicho!valor!y!por!lo!tanto!no!se!podr!modificar!
!
!
!
7. Funcin!Eliminar!
void!eliminar(int!numero){!
!!!!!struct!nodo!*pant=NULL;!
!!!!!//pa=pi;!
!!!!!//pant=NULL;!
!!!!!if(pi==NULL){!
!!!!!!!!!cout<<"\n\t!lista!vacia";!
!!!!!}!
!!!!!else{!
!!!!!!!!!if(pid>nro==numero){!
!!!!!!!!!!!!!pa=pi;!
!!!!!!!!!!!!!pi=pid>sgte;!
!!!!!!!!!!!!!cout<<"\n\t!!numero!eliminado!:!"<<pad

Prueba(s)!

'

>nro;!
!!!!!!!!!}!
!!!!!!!!!else{!
!!!!!!!!!!!!!pa=pid>sgte;!
!!!!!!!!!!!!!pant=pi;!
!!!!!!!!!!!!!while(pa!=NULL!&&pad>nro!=numero){!
!!!!!!!!!!!!!!!!!pant=pa;!
!!!!!!!!!!!!!!!!!pa=pad>sgte;!
!!!!!!!!!!!!!}!
!!!!!!!!!!!!!if(pa!=NULL){!
!!!!!!!!!!!!!!!!!pantd>sgte=pad>sgte;!
!!!!!!!!!!!!!!!!!cout<<"\n\t!!numero!eliminado!:!"<<pad
>nro;!
!!!!!!!!!!!!!}!
!!!!!!!!!}!
!!!!!!!!!delete(pa);!
!!!!!}!
!}!
!
Anlisis!de!resultados:!
Al!igual!que!la!funcin!modificar!el!programa!le!pide!a!l!usuario!un!numero!a!eliminar,!es!decir!realiza!una!
bsqueda!para!comprobar!si!el!dato!existe!en!la!lista!y!as!eliminarlo;!si!el!dato!buscado!no!se!encuentra!se!
le!informar!por!pantalla!al!usuario!que!no!existe!tal!dato.!
!
!

Вам также может понравиться