1-OPERACIONES-CON-LISTAS-SIMPLES.doc
-
Upload
andres-gonzales-lezama -
Category
Documents
-
view
230 -
download
0
Transcript of 1-OPERACIONES-CON-LISTAS-SIMPLES.doc
ESTRUCTURA DE DATOS
ESTRUCTURA DE DATOS Pgina 7
OPERACIONES CON LISTAS SIMPLESPROGRAMA PARA DESARROLLAR OPERACIONES CON LISTAS SIMPLES1. DISEO DEL FORMULARIO
2. VENTANA DE PROPIEDADES
OBJETOPROPIEDADVALOR
ListBox1
textBox1
textBox2
buttom1
buttom2buttom3buttom4buttom5
buttom6
Name
Text
Name
Text
Name
Text
Name
Text
Name
Text
NameText
NameText
NameText
NamelstLISTA
textELEMENTO
textNUEVOELEMENTO&AGREGAR
btnAGREGAR
&EDITARbtnEDITAR&ELIMINARbtnrhyELIMINAR&BUSCAR
BtnBUSAR
&MOSTRAR
BtnMOSTRAR
&SALIR
btnSALIR
3. IMPLEMENTACION DE LAS CLASES
Seleccione las opciones del men principal:
Men Principal -> Proyecto -> Agregar Clase
Aparecer la siguiente ventana:
Hagamos doble clic en el objeto: Clase de C++, entonces veremos:
3.1 CREACIN DE LA CLASE ESTRUCTURA: EstructuraLista En la ventana anterior, escribiremos en Nombre de Clase: EstructuraLista y activaremos la opcin check InLine.
Clic en Finalizar, entonces veremos:
Definicin de la Clase Estructura:
class EstructuraLista{
public:
char dato;
int ptr;
EstructuraLista(void)
{
}
};
3.2 CREACIN DE LA CLASE PROCESO: OperaLista
Al igual que en el caso anterior; crear la clase y colocar en Nombre de Clase: OperaLista
El cdigo de la Clase, es:
#pragma once
#include "EstructuraLista.h"
class OperaLista
{
public:
int CAB;
int LIB;
EstructuraLista L[50];
public:
void Inicializar(EstructuraLista[], int&, int&);
void Agregar(EstructuraLista[], int&, int&, char);
int Buscar(EstructuraLista[], int, int, char, int);
void Eliminar(EstructuraLista[], int&, int&, char);
void Editar(EstructuraLista[], int, int, char, char);
OperaLista(void)
{
}
};
void OperaLista::Inicializar(EstructuraLista L[], int &cab, int &lib)
{
cab=99;
lib=0;
for(int k=0; kText);
Lista.Agregar(Lista.L, Lista.CAB, Lista.LIB, xdato);
textELEMENTO->Text="";
}
Botn: btnMOSTRAR:
private: System::Void btnMOSTRAR_Click(System::Object^ sender, System::EventArgs^ e) {
lstLISTA->Items->Clear();
int xptr=Lista.CAB;
while(xptr!=99)
{
char xdato=Lista.L[xptr].dato;
String^ xLinea = Convert::ToString(xptr)+" "+Char::ToString(xdato)+" "+Convert::ToString(Lista.L[xptr].ptr);
lstLISTA->Items->Add(xLinea);
xptr=Lista.L[xptr].ptr;
}
}
Botn: btnELIMINAR:
private: System::Void btnELIMINAR_Click(System::Object^ sender, System::EventArgs^ e) {
char xdato = Convert::ToChar(textELEMENTO->Text);
if(Lista.Buscar(Lista.L, Lista.CAB, Lista.LIB, xdato, 1)==99)
MessageBox("Este dato no se encuentra");
else
Lista.Eliminar(Lista.L, Lista.CAB, Lista.LIB, xdato);
}
Botn: btnEDITAR:
private: System::Void btnEDITAR_Click(System::Object^ sender, System::EventArgs^ e) {
char xdato = Convert::ToChar(textELEMENTO->Text);
char ndato = Convert::ToChar(textNUEVOELEMENTO->Text);
if(Lista.Buscar(Lista.L, Lista.CAB, Lista.LIB, xdato, 1)==99)
MessageBox("Este dato no se encuentra");
else
Lista.Editar(Lista.L, Lista.CAB, Lista.LIB, xdato, ndato);
}
Botn: btnBUSCAR:
private: System::Void btnBUSCAR_Click(System::Object^ sender, System::EventArgs^ e) {
char xdato = Convert::ToChar(textELEMENTO->Text);
int xptr=Lista.Buscar(Lista.L, Lista.CAB, Lista.LIB, xdato, 1);
if(xptr==99)
MessageBox("Este dato no se encuentra");
else
textELEMENTO->Text=Convert::ToString(xptr);
}
NOTA IMPORTANTE No olvidar que se debe incluir la clase OperaLista al inicio del cdigo para poder utilizarla, instanciar el Objeto Lista; de la siguiente manera:#include "OperaLista.h"
OperaLista Lista;Dr. Luis Boy Chavil