Está en la página 1de 10

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICAS


INGENIERÍA EN SISTEMAS DE INFORMACIÓN
Jorge Proaño Estructura de Datos 2021/06/23

Tarea 2 Agenda
Realizar un programa de agenda de contactos, con tres arreglos paralelos: Nombres,
Teléfono, Edad. Realizar las siguientes operaciones:
• Nuevos contactos
• Insertar un nuevo contacto, buscando por teléfono
• Eliminar, buscando por teléfono
• Modificar nombres, buscando por teléfono
• Salida a pantalla, listado

CÓDIGO Agenda
package uce.agenda;

import java.util.Scanner;

/**
*
* @author Jorge Proaño
*/
public class Agenda {

public static class Id {

int edad;
String nombre;
String numTele;
Id sig;

}
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICAS
INGENIERÍA EN SISTEMAS DE INFORMACIÓN
Jorge Proaño Estructura de Datos 2021/06/23

public static void main(String[] args) {

String nombre;
String telefono;
int edad, a;
Id lista = null;
Id cont = null;
Scanner leer = new Scanner(System.in);
Class_Acciones ac = new Class_Acciones();

System.out.println("AGENDA DE CONTACTOS");

do {
System.out.println("----------------------------------");
System.out.println("Elija la opcion que desea realizar");
System.out.println("1. Insertar nuevo contacto ");
System.out.println("2. Buscar contacto");
System.out.println("3. Ver contactos ");
System.out.println("4. Salir ");
a = leer.nextInt();

switch (a) {
case 1 -> {
nombre = ac.IngresoNombre();
telefono = ac.IngresoNumero();
edad = ac.IngresoEdad();
lista = ac.Insertar(lista, nombre, telefono, edad);
}
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICAS
INGENIERÍA EN SISTEMAS DE INFORMACIÓN
Jorge Proaño Estructura de Datos 2021/06/23

case 2 -> {
cont = ac.Buscar(lista);

if (cont != null) {
System.out.println("Escoja una opcion");
System.out.println("1. Eliminar contacto");
System.out.println("2. Modificar el nombre del contacto");

a = leer.nextInt();
switch (a) {
case 1 -> {
lista = ac.Eliminar(cont, lista);
}
case 2 -> {
ac.Modificar(cont);
}
default ->
System.out.println("Opcion incorrecta!!");
}
}
}
case 3 ->{
System.out.println("*Su lista de contactos es la siguiente*");
ac.SalidaPantalla(lista);
}
case 4 ->
System.out.println("Saliendo del sistema...");
default ->
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICAS
INGENIERÍA EN SISTEMAS DE INFORMACIÓN
Jorge Proaño Estructura de Datos 2021/06/23

System.out.println("Opcion incorrecta");
}
} while (a!=4);
}
}

CÓDIGO Class_Acciones
package uce.agenda;

import java.util.Scanner;

/**
*
* @author Jorge Proaño
*/
public class Class_Acciones {

Agenda.Id ultimo;

public String IngresoNombre() {


String nombre;

Scanner leer = new Scanner(System.in);


System.out.println("Ingrese el Nombre de su contacto: ");
nombre = leer.next();

return nombre;
}
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICAS
INGENIERÍA EN SISTEMAS DE INFORMACIÓN
Jorge Proaño Estructura de Datos 2021/06/23

public String IngresoNumero() {


String numero;

Scanner leer = new Scanner(System.in);


System.out.println("Ingrese su Número Telefonico: ");
numero = leer.next();

return numero;
}

public int IngresoEdad() {


int edad;
do {
Scanner leer = new Scanner(System.in);
System.out.println("Ingrese la edad de su contacto: ");
edad = leer.nextInt();
if (edad <= 0) {
System.out.println("Tiene que ser mayor a 0");
}
} while (edad <= 0);

return edad;
}

public Agenda.Id Insertar(Agenda.Id cont, String nombre, String telefono, int edad) {

Agenda.Id contacto = new Agenda.Id();


UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICAS
INGENIERÍA EN SISTEMAS DE INFORMACIÓN
Jorge Proaño Estructura de Datos 2021/06/23

contacto.edad = edad;
contacto.nombre = nombre;
contacto.numTele = telefono;

if (cont == null)
{
contacto.sig = null;
} else
{
contacto.sig = cont;
}
cont = contacto;
return cont;
}

public void SalidaPantalla(Agenda.Id cont) {


while (cont != null) {
System.out.println("[" + cont.nombre + ", " + cont.numTele + ", " + cont.edad +
"]");
cont = cont.sig;
}
}

public Agenda.Id Buscar(Agenda.Id cont) {


String buscar;

ultimo = cont;
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICAS
INGENIERÍA EN SISTEMAS DE INFORMACIÓN
Jorge Proaño Estructura de Datos 2021/06/23

Scanner leer = new Scanner(System.in);


System.out.println("Ingrese el número de telefono a buscar: ");
buscar = leer.next();

while (cont != null) {


if (!cont.numTele.equals(buscar)) {
ultimo = cont;
cont = cont.sig;
} else {
break;
}
}

if (cont == null) {
System.out.println("El número de telefono" + buscar + " no existe");
}

return cont;
}

public Agenda.Id Eliminar(Agenda.Id cont, Agenda.Id top) {

if (cont != null)
{
if (cont == top)
{
top = top.sig;
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICAS
INGENIERÍA EN SISTEMAS DE INFORMACIÓN
Jorge Proaño Estructura de Datos 2021/06/23

} else
{
ultimo.sig = cont.sig;
}
}
return top;

public void Modificar(Agenda.Id cont) {

if (cont != null)
{
Scanner leer = new Scanner(System.in);
System.out.println("Ingrese el nuevo nombre del contacto: ");
cont.nombre = leer.next();
}
}
}
CAPTURAS
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICAS
INGENIERÍA EN SISTEMAS DE INFORMACIÓN
Jorge Proaño Estructura de Datos 2021/06/23
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y MATEMÁTICAS
INGENIERÍA EN SISTEMAS DE INFORMACIÓN
Jorge Proaño Estructura de Datos 2021/06/23

También podría gustarte