Está en la página 1de 8

UNIVERSIDAD CENTRAL DEL ECUADOR

Estudiante: Fernando Martinez Curso: SIS3-P1


Fecha: 22-12-2021
Crear una agenda de contactos, y realizar las siguientes operaciones:
1. Insertar nuevos registros
2. Insertar por búsqueda un nuevo registro

Código:
package listacontactos;
import java.util.Scanner;
import listacontactos.Class_Contactos.Nodo;

public class ListaContactos {

public static void main(String[] args) {


Scanner leer = new Scanner(System.in);
Class_Contactos ac = new Class_Contactos();
int cant;

System.out.println("Agenda de Contactos\n");
System.out.print("El número de contactos que va agregar:");
cant=leer.nextInt();
Nodo lista1 = null;

lista1 =ac.InsercionFinal(lista1,cant);
System.out.println("\nInserción al Final");
ac.SalidaPantalla(lista1);

System.out.println("\n\nEliminar un elemento buscado");


Nodo temp1 = lista1;
temp1 = ac.BuscarNodo(temp1);
if(temp1 !=null){
lista1 = ac.Eliminar(temp1, lista1);
System.out.println("\nContacto eliminado exitosamente");
}
ac.SalidaPantalla(lista1);

System.out.println("\n\nModificar un elemento buscado");


temp1 = lista1;
temp1 = ac.BuscarNodo(temp1);
if(temp1 !=null){
ac.Modificar(temp1);
System.out.println("\nContacto modificado exitosamente");
}
System.out.println("");
ac.SalidaPantalla(lista1);

System.out.println("\n");

ClasesOperaciones
package listacontactos;
import java.util.Scanner;

public class Class_Contactos {

public static class Nodo {


String nombre;
String telefono;
int edad;
Nodo sig;
}
public String ingresoNombre(){
String nombre;

Scanner nom = new Scanner(System.in);


System.out.println("Ingrese el nombre del contacto");
nombre = nom.next();
return nombre;
}

public String ingresoTelefono(){


String telefono;

Scanner leer = new Scanner(System.in);


System.out.println("Ingrese el teléfono del contacto");
telefono = leer.next();
return telefono;
}

public int ingresoEdad(){


int edad;
Scanner leer = new Scanner(System.in);
System.out.println("Ingrese la edad del contacto");
edad = leer.nextInt();
return edad;
}

public Nodo InsercionFinal(Nodo top,int cant){

Nodo ultimo = top;


int edad;
String telefono,nombre;
for (int i =1 ; i <= cant; i++) {
Nodo temp = new Nodo();
System.out.println("\nIngrese el contacto número "+i);
System.out.println("");
nombre = ingresoNombre();
telefono= ingresoTelefono();
edad= ingresoEdad();

temp.nombre = nombre;
temp.telefono = telefono;
temp.edad = edad;
temp.sig = null;
if (top == null) //1er nodo
top = temp;
else //n-1 casos
ultimo.sig = temp;

ultimo = temp;
}
return top;
}

public void SalidaPantalla(Nodo temp1){


int i=1;
while (temp1 != null)
{
System.out.println("Nombre: "+temp1.nombre+" Telefono: "+temp1.telefono+"
Edad: "+temp1.edad+"");
temp1 = temp1.sig;
i++;
}
}

Nodo ultimo; //varible global


public Nodo ObtenerUltimo(){
return ultimo;
}

public Nodo BuscarNodo(Nodo temp1){


String buscar;

ultimo = temp1;
Scanner leer = new Scanner(System.in);
System.out.print("Ingrese número telefonico a buscar #: ");
buscar = leer.next();

while (temp1 != null)


{
if(!temp1.telefono.equalsIgnoreCase(buscar)){
ultimo = temp1;
temp1 = temp1.sig;
}
else
break;
}
if (temp1 == null)
System.out.println("\n -> el numero telefonico "+buscar+" no existe");

return temp1;
}
public Nodo Eliminar(Nodo temp1, Nodo top){

if (temp1 != null) //encontrado y eliminar


{
if (temp1 == top) // 1er nodo
top = top.sig;
else // n-1 casos
ultimo.sig = temp1.sig;
}
return top;

public void Modificar(Nodo temp1){

if (temp1 != null) //encontrado y modificar


{
Scanner leer = new Scanner(System.in);
System.out.print("Ingrese el nuevo nombre del contacto #: ");
temp1.nombre = leer. next();
}
}

}
Capturas:

También podría gustarte