Sei sulla pagina 1di 5

Facultad de Ingeniera

Ingeniera de Sistemas
Estructuras Bsicas G:212
Tema: Listas Enlazadas
Luis Alberto Castillo Bello
Cdigo: 201311011601

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);
pi->nro=numero;
pf=pi;
}
else{
pa=new(nodo);
pf->sgte=pa;
pa->nro=numero;
pf=pa;
}
pf->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<<" \t-> "<<pa->nro;
pa=pa->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==pa->nro){
cout<<endl<<"\n\t Valor encontrado :
"<<pa->nro;
flag=1;
}
pa=pa->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==pa->nro && flag==0){
cout<<endl<<"\n\t Valor Encontrado
: "<<pa->nro;
cout<<endl<<"\n\t Ingrese nuevo
valor :";
cin>>pa->nro;
flag=1;
}
pa=pa->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 Prueba(s)
void eliminar(int numero){
struct nodo *pant=NULL;
//pa=pi;
//pant=NULL;
if(pi==NULL){
cout<<"\n\t lista vacia";
}
else{
if(pi->nro==numero){
pa=pi;
pi=pi->sgte;
cout<<"\n\t numero eliminado : "<<pa-

>nro;
}
else{
pa=pi->sgte;
pant=pi;
while(pa!=NULL &&pa->nro!=numero){
pant=pa;
pa=pa->sgte;
}
if(pa!=NULL){
pant->sgte=pa->sgte;
cout<<"\n\t numero eliminado : "<<pa-
>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.


Video de implementacin del cdigo y ejecucin: http://goo.gl/FqQFt

Potrebbero piacerti anche