sábado, 2 de julio de 2011

Agenda

Bueno este programa fue hecho para ocuparlo como una agenda, fue hecho utilizando Listas. cualquier duda del codigo pueden escribir y respondo.



// clase principal


import java.util.*;

import java.io.*;


public class Principal{
public static void main()throws java.io.IOException{

BufferedReader leer = new BufferedReader(new InputStreamReader(System.in));
int opcion;
String dato;
String cual;
String numero;
String numero1;

Lista Milista = new Lista();
Lista lis1 = new Lista();

do{
System.out.println("escriba 0 si decea salir del programa ");
//System.out.println("escriba 1 si decea agregar al incio ");
//System.out.println("escriba 2 si decea agregar al final");
//System.out.println("escriba 3 si decea agregar despues.. ");
System.out.println("escriba 1 si Mostrar la agenda ");
//System.out.println("escriba 5 si decea borrar el primero ");
//System.out.println("escriba 6 si decea borrar el ultimo ");
System.out.println("escriba 2 si decea borrar numero");
System.out.println("escriba 3 para agregar numeros");
//System.out.println("escriba 4 si quiere saber si un dato esta o no");


System.out.println("Ingrese opcion: ");

opcion= Integer.parseInt(leer.readLine());

switch(opcion){

//case 1:
//System.out.println("ingrese dato:");
//dato = leer.readLine();
//Milista.InsertaInicio(dato);

//break;


//case 2:

//System.out.println("ingrese dato:");
//dato = leer.readLine();
//Milista.InsertaFinal(dato);

//break;


//case 3:
//if(Milista.vacia()){
//System.out.println("Lista vacia:");}
//else{
//System.out.println("dato");
//dato = leer.readLine();
//System.out.println("despues de");
//cual = leer.readLine();
//Milista.Despues(dato,cual);
// break;
//}

case 1:

Milista.Mostrar();
break;

//case 5:

//if(Milista.vacia()){
//System.out.println("Lista vacia:");}
//else{
//Milista.eliminarPrimero();
//}
//break;

//case 6:

//if(Milista.vacia()){
//System.out.println("Lista vacia:");}
//else{
//Milista.borraultimo();
//}
//break;

case 2:
if(Milista.vacia()){
System.out.println("error lista vacia"); }
else{
System.out.println("ingrese dato que quiere eliminar");
dato= leer.readLine();
if(Milista.buscar(dato)==null){
System.out.println("dato no esta");
} else {
Milista.Eliminarcualquiera(dato);}}
break;
case 3:

System.out.println("Nombre:");
dato = leer.readLine();


//System.out.println("ingrese opcion:");
//int agre= Integer.parseInt(leer.readLine());

//switch(agre){
//case 1:
System.out.println("ingrege numero de casa:");
numero1 = leer.readLine();
//lis1.Ordeno(numero);
//case 2:
System.out.println("ingrese celular");
numero = leer.readLine();
//lis1.Ordeno(numero);
Milista.Ordeno(dato, numero1, numero);
//}

break;

case 9:
System.out.println("nombre");
dato= leer.readLine();

if(Milista.buscar(dato)==null){
System.out.println("dato no esta");
} else {
System.out.println("dato esta");}
break;


default:
System.out.println("usted acaba de salir del Programa.. Adios");
break;


}

Milista.Mostrar();

System.out.println();
}while(opcion != 0);

}
}


// clase nodo

public class Nodo
{

String dato;
Nodo Sig;
String Nun;
String Numero;

public Nodo(String x, String y, String z){
dato =x;
Sig= null;
Nun =y;
Sig = null;
Numero = z;
Sig= null;
}
}

//clase Lista

mport java.util.*;
import java.util.List;

public class Lista{

//Object dato;
Nodo Inicio;
Nodo Ultimo;
Nodo anterior;
Nodo P;

public void Lista(){
Inicio = null;
Ultimo = null;
}

//---------------------------------------------------------

public boolean vacia(){
if(Inicio==null)
return true;
else
return false;
}



//---------------------------------------------------------
// public void InsertaInicio(String valor)
// {

//Nodo Nuevo = new Nodo(valor);
// Nuevo.dato = valor;
// Nuevo.Sig = Inicio;
// Inicio = Nuevo;
// if( Ultimo == null){
// Ultimo = Nuevo;
// }

//}
//---------------------------------------------------------

// public void InsertaFinal(String valor){


// Nodo Nuevo = new Nodo(valor,String y, String z);
// Nuevo.dato = valor;
// Nuevo.Sig = null;
//if (Ultimo == null){
// Inicio = Nuevo;
// }
// else {
// Ultimo.Sig = Nuevo;
//Ultimo = Nuevo;

//}
//}
//---------------------------------------------------------


public void Despues(String valor, String cual){
Nodo donde = Existe(cual);
if(donde != null){
Nodo nuevo = new Nodo(valor, cual, valor);
// nuevo.dato = valor;
nuevo.Sig = donde.Sig;
donde.Sig=nuevo;
if( nuevo.Sig==null)
Ultimo= nuevo;
}
}

//---------------------------------------------------------



//---------------------------------------------------------

public Nodo Existe(String cual){
Nodo aca = null;
P= Inicio;
while(P!=null){
if ( P.dato.equals(cual)){
aca= P;
P= null;
}
else{
P=P.Sig;}}
return aca;
}


//______________________________________

public void borraultimo()
{


Nodo penultimo;
Nodo ultimo;

P = Inicio;
penultimo = null;
ultimo = null;

while(P != null)
{
penultimo = ultimo;
ultimo = P;
P = P.Sig;
}

if(ultimo != null)
{
if( penultimo == null)
{ Inicio= null;}
else{
penultimo.Sig = null;}
}


}

//______________________________________

public void eliminarPrimero(){

if(Inicio != null){
P= Inicio;
Inicio= Inicio.Sig;
}}


//---------------------------------------------------------
public void Mostrar()
{

System.out.println(" Agenda ");
P=Inicio;
while(P!=null)
{
System.out.println(" --> " + P.dato + " casa:" + P.Nun + " cel:" +P.Numero);
P=P.Sig;
}
System.out.println();
}


//________________________________________________________

public Nodo buscar(String nom)
{ P=Inicio;
Nodo q=null;
while(P!=null)
{ if(nom.equals(P.dato))
{ q=P;
P=null; }

else
{ P=P.Sig; }
}

return q;

}
//---------------------------------------------------------

public void Eliminarcualquiera(String valor)
{
anterior = null;
P= Inicio;

while( P != null){

if ( valor.equals(P.dato)){
if(anterior==null){
Inicio= P.Sig;}
else{
anterior.Sig= P.Sig;
}
P=null;}
else{
anterior=P;
P=P.Sig;
}
}
}

//---------------------------------------------------------


public void Ordeno(String valor, String numc, String numcas){

P= Inicio;
anterior=null;
Nodo nuevo= new Nodo(valor, numc, numcas);

if(Inicio == null){

Inicio = nuevo;
nuevo.Sig = null;
P=nuevo;
anterior= Inicio;
}else {


while(P!= null ){
if(nuevo.dato.compareTo(P.dato)<0){
if(anterior==null){
nuevo.Sig=P;
Inicio=nuevo;
P=null;

}else{

nuevo.Sig=P;
anterior.Sig=nuevo;
P=null; }

}
else

{
if(nuevo.dato.compareTo(P.dato)>0){
if(P.Sig==null){
P.Sig=nuevo;
nuevo.Sig=null;
P=null;

} else{

anterior=P;
P=P.Sig;}


}

}



}//fin while

}//fin else

}//fin clase
}

No hay comentarios:

Lízbeth Alejandra Lopez Jimenez