Está en la página 1de 9

UNIVERSIDAD CENTRAL DEL ECUADOR

Asignatura Datos del estudiante Fecha


Nombres: Ariel Adrian
Estructura de Datos
Apellidos: Panchi Gualoto 2020/07/27
Semestre: 3° Cédula: 1723408934
Tutor: Ing. Boris Herrera

Crear una agenda de contactos, y realizar las siguientes operaciones:


Insertar contactos (nombre, teléfono, edad)
Búsqueda de un contacto por teléfono
Eliminar contacto
Modificar el nombre del contacto encontrado
CÓDIGO:
Clase Main (AgendaLista):
package agendalista;

import java.util.Scanner;

public class AgendaLista {


public static void main(String[] args) {
// TODO code application logic here
String nombre, telefono;
int edad, opc;
int k = 0;
Nodo llamar = new Nodo();
Scanner leer = new Scanner(System.in);
do {
System.out.println("---------MENÚ---------");
System.out.println("1.-Insertar contacto(nombre, telefono, edad)");
System.out.println("2.-Busqueda de contacto por numero de telefono");
System.out.println("3.-Eliminar contacto");
System.out.println("4.-Modificar nombre del contacto");
System.out.println("5.-Mostar la lista de contactos");
System.out.println("6.- Salir");
opc = leer.nextInt();
switch (opc) {
case 1:

https://uvirtual.uce.edu.ec
MODALIDA
UNIVERSIDAD CENTRAL DEL ECUADOR

System.out.println("Ingrese el nombre del contacto " + (k + 1));


nombre = leer.next();
System.out.println("Ingrese el número de telefono del contacto " + (k + 1));
telefono = leer.next();
System.out.println("Ingrese la edad del contacto " + (k + 1));
edad = leer.nextInt();
if (telefono.length() != 10) {
System.out.println("El numero de telefono se compone de 10 digitos");
telefono = leer.next();
continue;
}
llamar.insertarContacto(nombre, telefono, edad);
k++;
break;
case 2:
System.out.println("Ingrese el numero de telefono a buscar:");
String buscar = leer.next();
llamar.buscarContacto(buscar);
break;
case 3:
System.out.println("Ingrese el numero de telefono a buscar para
eliminar:");
buscar = leer.next();
llamar.eliminarContacto(buscar);
break;
case 4:
System.out.println("Ingrese el numero de telefono a buscar:");
buscar = leer.next();
llamar.modificarContacto(buscar);
break;
case 5:
llamar.mostrarContactos();
break;
case 6:
2

https://uvirtual.uce.edu.ec
MODALIDA
UNIVERSIDAD CENTRAL DEL ECUADOR

System.out.println("Usted ha salido de la agenda, Gracias");


System.exit(0);
break;
default:
System.out.println("Ingrese una opción valida");
break;
}

} while (opc != 6);


}
}

Clase Nodo:
package agendalista;

import java.util.Scanner;

public class Nodo {


String nombre;
String telefono;
int edad;
Nodo sig;
Nodo top = null;
Nodo ultimo = null;
Nodo temp1 = null;

public void insertarContacto(String nombre, String telefono, int edad) {


Nodo temp = new Nodo();
temp.telefono = telefono;
temp.nombre = nombre;
temp.edad = edad;
temp.sig = null;
if (top == null) {
top = temp;
3

https://uvirtual.uce.edu.ec
MODALIDA
UNIVERSIDAD CENTRAL DEL ECUADOR

} else {
ultimo.sig = temp;
}
ultimo = temp;
temp1 = top;
int j = 0;
while (temp1 != null) {
System.out.print((j + 1) + ")Nombre:" + temp1.nombre + " Telefono: " +
temp1.telefono + " Edad:" + temp1.edad);
temp1 = temp1.sig;
System.out.println("");
j++;
}

public void modificarContacto(String buscar) {


Scanner leer = new Scanner(System.in);
Nodo temp1 = top;
while (temp1 != null) {
if (!temp1.telefono.equals(buscar)) {
ultimo = temp1;
temp1 = temp1.sig;
} else {
break;
}
}
if (temp1 != null) {
System.out.println("Ingrese el nuevo nombre del contacto ");
temp1.nombre = leer.next();
} else {
System.out.println("no existe");
}
System.out.println("");
4

https://uvirtual.uce.edu.ec
MODALIDA
UNIVERSIDAD CENTRAL DEL ECUADOR

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

public void eliminarContacto(String buscar) {


Scanner leer = new Scanner(System.in);
Nodo temp1 = top;
while (temp1 != null) {
if (!temp1.telefono.equals(buscar)) {
ultimo = temp1;
temp1 = temp1.sig;
} else {
break;
}
}
if (temp1 != null) {
if (temp1 == top) { // 1er nodo
top = top.sig;
} else {
ultimo.sig = temp1.sig;
}
} else {
System.out.println("no existe");
}
System.out.println("");
temp1 = top;
5

https://uvirtual.uce.edu.ec
MODALIDA
UNIVERSIDAD CENTRAL DEL ECUADOR

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

public void buscarContacto(String buscar) {


Nodo temp1 = top;
while (temp1 != null) {
if (!temp1.telefono.equals(buscar)) {
ultimo = temp1;
temp1 = temp1.sig;

} else {
System.out.print("Nombre:" + temp1.nombre + " Telefono: " +
temp1.telefono + " Edad:" + temp1.edad);
temp1 = temp1.sig;
System.out.println("");
break;
}
}
}

public void mostrarContactos() {


temp1 = top;
System.out.println("");
int k = 0;
while (temp1 != null) {
System.out.print((k + 1) + ")Nombre:" + temp1.nombre + " Telefono: " +
temp1.telefono + " Edad:" + temp1.edad);
6

https://uvirtual.uce.edu.ec
MODALIDA
UNIVERSIDAD CENTRAL DEL ECUADOR

temp1 = temp1.sig;
System.out.println("");
k++;
}
}

ANEXOS:

https://uvirtual.uce.edu.ec
MODALIDA
UNIVERSIDAD CENTRAL DEL ECUADOR

https://uvirtual.uce.edu.ec
MODALIDA
UNIVERSIDAD CENTRAL DEL ECUADOR

https://uvirtual.uce.edu.ec
MODALIDA

También podría gustarte