Java - Ejercicio de java POO en netbeans sobre herencia de una cuenta bancaria.

 
Vista:

Ejercicio de java POO en netbeans sobre herencia de una cuenta bancaria.

Publicado por RJ (1 intervención) el 19/10/2022 05:35:50
ENUNCIADO
Desarrollar un programa que modele una cuenta bancaria que tiene los siguientes atributos, que deben ser de acceso protegido:
•Saldo, de tipo float
.•Número de consignaciones con valor inicial cero, de tipo int.
•Número de retiros con valor inicial cero, de tipo int.
•Tasa anual (porcentaje), de tipo float.
•Comisión mensual con valor inicial cero, de tipo float
.La clase Cuenta tiene un constructor que inicializa los atributos saldo y tasa anual con valores pasados como parámetros. La clase Cuenta tiene los siguientes métodos:
•Consignar una cantidad de dinero en la cuenta actualizando su saldo.
•Retirar una cantidad de dinero en la cuenta actualizando su saldo. El valor para retirar no debe superar el saldo.
•Calcular el interés mensual de la cuenta y actualiza el saldo correspondiente.
•Extracto mensual: actualiza el saldo restándole la comisión mensual y calculando el interés mensual correspondiente (invoca el método anterior).
•Imprimir: muestra en pantalla los valores de los atributos.La clase Cuenta tiene dos clases hijas:

➢Cuenta de ahorros: posee un atributo para determinar si la cuenta de ahorros está activa (tipo boolean). Si el saldo es menor a $10000, la cuenta está inactiva, en caso contrario se considera activa.

Los siguientes métodos se redefinen:•Consignar: se puede consignar dinero si la cuenta está activa. Debe invocar al método heredado.
•Retirar: es posible retirar dinero si la cuenta está activa. Debe invocar al método heredado.
•Extracto mensual: si el número de retiros es mayor que 4, por cada retiro adicional, se cobra $1000 como comisión mensual. Al generar el extracto, se determina si la cuenta está activa o no con el saldo.
•Un nuevo métodoimprimir que muestra en pantalla el saldo de la cuenta, la comisión mensual y el número de transacciones realizadas (suma de cantidad de consignaciones y retiros).

➢Cuenta corriente: posee un atributo de sobregiro, el cual se inicializa en cero. Se redefinen los siguientes métodos:•Retirar: se retira dinero de la cuenta actualizando su saldo. Se puede retirar dinero superior al saldo. El dinero que se debe queda como sobregiro.•Consignar: invoca al método heredado. Si hay sobregiro, la cantidad consignada reduce el sobregiro.
•Extracto mensual: invoca al método heredado.
•Un nuevo método imprimir que muestra en pantalla el saldo de la cuenta, la comisión mensual, el número de transacciones realizadas (suma de cantidad de consignaciones y retiros) yel valor de sobregiro.

Realizar un método main que implemente un objeto Cuenta de ahorros y llame a los métodos correspondientes.



Le agradeceria un montón.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ejercicio de java POO en netbeans sobre herencia de una cuenta bancaria.

Publicado por Jose (1 intervención) el 28/02/2023 22:42:37
[code

public class Cuenta {
protected float saldo;
protected int numeroIngresos = 0;
protected int numeroDeRetiros = 0;
protected float porcientoTasaAnual;
protected float comisionMensual = 0;

public DecimalFormat df = new DecimalFormat("0.00");

public Cuenta() {
super();
}

public Cuenta(float saldo, float porcientoTasaAnual) {
super();
this.saldo = saldo;
this.porcientoTasaAnual = porcientoTasaAnual;
}

public float getSaldo() {
return saldo;
}

public void setSaldo(float saldo) {
this.saldo = saldo;
}

public int getNumeroIngresos() {
return numeroIngresos;
}

public void setNumeroIngresos(int numeroIngresos) {
this.numeroIngresos = numeroIngresos;
}

public int getNumeroDeRetiros() {
return numeroDeRetiros;
}

public void setNumeroDeRetiros(int numeroDeRetiros) {
this.numeroDeRetiros = numeroDeRetiros;
}

public float getPorcientoTasaAnual() {
return porcientoTasaAnual;
}

public void setPorcientoTasaAnual(float porcientoTasaAnual) {
this.porcientoTasaAnual = porcientoTasaAnual;
}

public float getComisionMensual() {
return comisionMensual;
}

public void setComisionMensual(float comisionMensual) {
this.comisionMensual = comisionMensual;
}

public boolean Ingreso(float ingreso) {
boolean ingresoCorrecto = true;
if (ingreso < 0) {
ingresoCorrecto = false;
} else {
saldo = saldo + ingreso;
numeroIngresos++;
System.out.println("Ingreso de " + ingreso + " € hecho");
}
return ingresoCorrecto;
}

public boolean Retirar(float retirar) {//Mismo objetivo que en ingreso
boolean retirarCorrecto = true;
if (retirar <= 0) {
retirarCorrecto = false;
} else if (saldo >= retirar) {
saldo = saldo - retirar;
numeroDeRetiros++;
System.out.println("Retirada de " + retirar + "€ hecho");
} else {
System.out.println("Saldo insuficiente, retirada de "+retirar+"€ denegada");
retirarCorrecto = false;
}
return retirarCorrecto;
}

public float InteresMensual() {
comisionMensual = saldo * (porcientoTasaAnual / 12) / 100;
saldo = saldo - comisionMensual;
return comisionMensual;
}

public void ExtractoMensual() {
System.out.println("Interes mensual: " + df.format(InteresMensual()) + " €/mes");
System.out.println("Saldo: " + df.format(saldo) + " €");

}

public String Imprimir() {

System.out.println("Cuenta [saldo= " + df.format(saldo) + " €, numeroIngresos=" + numeroIngresos
+ ", numeroDeRetiros=" + numeroDeRetiros + ", porcientoTasaAnual=" + df.format(porcientoTasaAnual)
+ "%, comisionMensual=" + df.format(comisionMensual) + "€]");
return null;
}

@Override
public String toString() {


StringBuilder builder = new StringBuilder();
builder.append("Cuenta [ ");
if (this instanceof CuentaAhorros) {
builder.append("Cuenta de Ahorro - Transacciones= ");
builder.append(numeroDeRetiros + numeroIngresos+", ");
if (saldo<100 ) {
builder.append("cuenta inactiva, ");
}

}
if (this instanceof CuentaCorriente) {
builder.append("Cuenta Corriente - Transacciones= ");
builder.append(numeroDeRetiros + numeroIngresos+", " );

}


builder.append("Numero Ingresos= ");

builder.append(numeroIngresos);

builder.append(", Numero Retiros= ");

builder.append(numeroDeRetiros);

builder.append(", Saldo= ");

builder.append(df.format(saldo));

builder.append("€, TasaAnual= ");

builder.append(df.format(porcientoTasaAnual));

builder.append("%, Comision Mensual= ");

builder.append(df.format(comisionMensual));

builder.append("€]");

return builder.toString();
}

=========================================


public class CuentaAhorros extends Cuenta {
protected boolean cuentaInactiva;

public CuentaAhorros(float saldo, float porcientoTasaAnual) {
super(saldo, porcientoTasaAnual);
this.cuentaInactiva = cuentaInactiva;
}

@Override
public boolean Ingreso(float ingreso) {

if (cuentaInactiva = saldo < 100) {

cuentaInactiva=true;
System.out.println("La cuenta esta inactiva(saldo menor 100€), ingreso no realizado");
return false;
} else
return super.Ingreso(ingreso);
}

@Override
public boolean Retirar(float retirar) {

if (cuentaInactiva = saldo-retirar < 100) {
cuentaInactiva=true;
System.out.println("Solo puede retirar hasta "+(saldo-100)+ " €");
retirar=0;
return false;
}
return super.Retirar(retirar);
}

@Override
public void ExtractoMensual() {
// Aqui para calcular el añadido lo he multiplicado por 3/2, porque el 1.5 es double
if (numeroDeRetiros > 4) {
saldo = saldo - ((numeroDeRetiros - 4) * 3 / 2);

System.out.println("Sobrepasa en " + (numeroDeRetiros - 4) + " retiros");
System.out.println((numeroDeRetiros - 4) + " x 1.5€ = " + df.format(((numeroDeRetiros - 4) * 3 / 2)));
}
if (cuentaInactiva = saldo < 100) {//Tenia otra experesion
cuentaInactiva=true;
System.out.println("La cuenta esta inactiva(saldo menor 100€)");
} else {
cuentaInactiva=false;
System.out.println("La cuenta esta activa(saldo superior 100€)");
}

System.out.println("Numero de retiros:" + numeroDeRetiros);
super.ExtractoMensual();

}

public String ImprimirCA() {
System.out.println("CuentaAhorros [saldo= " + df.format(saldo) + ", comisionMensual="
+ df.format(comisionMensual) + ", Transacciones= " + numeroDeRetiros + numeroIngresos + " ( "
+ numeroDeRetiros + " retiros, " + numeroIngresos + " ingresos" + ")]");
return null;
}



=============================

public class CuentaCorriente extends Cuenta {
protected float sobregiro = 0;

public CuentaCorriente(float saldo, float porcientoTasaAnual) {
super(saldo, porcientoTasaAnual);
this.sobregiro = sobregiro;
}

public float getSobregiro() {
return sobregiro;
}

public void setSobregiro(float sobregiro) {
this.sobregiro = sobregiro;
}

@Override
public boolean Ingreso(float ingreso) {

if (sobregiro > 0) {
if (ingreso <= sobregiro) {
System.out.println("Ingreso de: "+ ingreso+" € para pagar sobregiro de "+sobregiro+" €");
sobregiro = sobregiro - ingreso;
ingreso = 0;
System.out.println("Sobregiro actual de: "+ sobregiro+" €,");
} else {
System.out.println("Ingreso de: "+ ingreso+" € para pagar sobregiro de "+sobregiro+" €");
ingreso = ingreso - sobregiro;
sobregiro = 0;
System.out.println("Sobregiro actual de: "+ sobregiro+" €,");
}

}
return super.Ingreso(ingreso);
}

public boolean Retirar(float retirar) {
boolean retirarCorrecto = true;
if (retirar < 0) {
retirarCorrecto = false;
} else if (saldo >= retirar) {
saldo = saldo - retirar;
numeroDeRetiros++;
System.out.println("retiro de " + retirar + "€ hecho");
} else {
sobregiro=retirar-saldo;
saldo=0;
numeroDeRetiros++;
System.out.println("retiro de " + retirar + "€ hecho"+'\n'+"Sobregiro de: "+sobregiro+" €");
retirarCorrecto = true;
}
return retirarCorrecto;
}

@Override
public void ExtractoMensual() {
super.ExtractoMensual();
}

public String Imprimir() {
System.out.println("Cuenta Corriente [Sobregiro= " + df.format(sobregiro) + "€, Saldo= " + df.format(saldo)
+ "€, ComisionMensual= " + df.format(comisionMensual) + ", Transacciones= "
+ (numeroDeRetiros + numeroIngresos) + " ( " + numeroDeRetiros + " retiros, " + numeroIngresos
+ " ingresos" + ")]");
return null;
}








}[/code]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejercicio de java POO en netbeans sobre herencia de una cuenta bancaria.

Publicado por Romanov (1 intervención) el 09/03/2023 19:14:58
hola, soy nuevo en la programacion y me enviaron un ejercicio identico a este, lo copio tal cual esta aqui, pero solo muestra por pantalla el saldo y la comision, el restto es 0 . como puedo hacer para mostrarlo por pantalla. ayuda porfavor .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ejercicio de java POO en netbeans sobre herencia de una cuenta bancaria.

Publicado por Matías (7 intervenciones) el 08/04/2023 03:21:02
Buenas, me ayudarías por favor con el siguiente ejercicio de java en netBeans ?

Realizar una clase llamada CuentaBancaria en el paquete Entidades con
los siguientes atributos: numeroCuenta(entero), dniCliente(entero largo),
saldoActual. Agregar constructor vacío, con parámetros, getters y
setters.
Agregar la clase CuentaBancariaServicio en el paquete Servicios que
contenga:
a) Método para crear cuenta pidiéndole los datos al usuario.
b) Método ingresar(double): recibe una cantidad de dinero a ingresar y
se le sumará al saldo actual.
c) Método retirar(double): recibe una cantidad de dinero a retirar y se le
restara al saldo actual. Si la cuenta no tiene la cantidad de dinero a
retirar se retirará el máximo posible hasta dejar la cuenta en 0.
d) Método extraccionRapida: le permitirá sacar solo un 20% de su saldo.
Validar que el usuario no saque más del 20%.
e) Método consultarSaldo: permitirá consultar el saldo disponible en la
cuenta.
f) Método consultarDatos: permitirá mostrar todos los datos de la
cuenta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ejercicio de java POO en netbeans sobre herencia de una cuenta bancaria.

Publicado por Kabuto (1381 intervenciones) el 09/04/2023 12:24:15
Hola Matías.
Para que te podamos ayudar tienes que darnos algo con lo que empezar a ayudarte.

Empieza escribiendo la clase CuentaBancaria, con sus atributos, sus dos constructores y sus getter/setter.
Publica aquí lo que hayas escrito, lo revisamos y de ahí continuamos con la siguiente clase.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ejercicio de java POO en netbeans sobre herencia de una cuenta bancaria.

Publicado por matias (7 intervenciones) el 10/04/2023 06:18:17
Hola kabuto.


// clase


package entidades1;


public class CuentaBancaria {
private int numeroCuenta;
private long dniCliente;
private double saldoActual;

public CuentaBancaria(){}

public CuentaBancaria(int numeroCuenta,long dniCliente,double saldoActual){
this.numeroCuenta = numeroCuenta;
this.dniCliente = dniCliente;
this.saldoActual = saldoActual;
}

public int getNumeroCuenta() {
return numeroCuenta;
}

public void setNumeroCuenta(int numeroCuenta) {
this.numeroCuenta = numeroCuenta;
}

public long getDniCliente() {
return dniCliente;
}

public void setDniCliente(long dniCliente) {
this.dniCliente = dniCliente;
}

public double getSaldoActual() {
return saldoActual;
}

public void setSaldoActual(double saldoActual) {
this.saldoActual = saldoActual;
}

@Override
public String toString() {
return "CuentaBancaria{" + "numeroCuenta=" + numeroCuenta + ", dniCliente=" + dniCliente + ", saldoActual=" + saldoActual + '}';
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ejercicio de java POO en netbeans sobre herencia de una cuenta bancaria.

Publicado por matias (7 intervenciones) el 10/04/2023 06:20:55
// clase servicio


package servicios1;

import entidades1.CuentaBancaria;
import java.util.Scanner;


public class CuentaBancariaServicio {

CuentaBancaria cb = new CuentaBancaria();


public CuentaBancaria crearCuenta(){

Scanner scan = new Scanner(System.in);

System.out.println("");
System.out.println("Ingrese número de cuenta");
cb.setNumeroCuenta(scan.nextInt());
System.out.println("Ingrese dni");
cb.setDniCliente(scan.nextLong());
System.out.println("");

System.out.println("Cuenta: " +cb.getNumeroCuenta());
System.out.println("Dni: " +cb.getDniCliente());
System.out.println("");
return cb;
}

public void ingresarD(double saldoActual){
if(saldoActual >0){
cb.saldoActual += saldoActual;
}
}

public void retirarD(double saldoActual){
if(cb.saldoActual - saldoActual < 0){
cb.saldoActual = 0;
}else{
cb.saldoActual -= saldoActual;
}
}

public void extraccionRapida(){

}

public void consultarSaldo(){
System.out.println("Su saldo es: " +cb.getSaldoActual());
}

public void consultarDatos(){
System.out.println(cb.getNumeroCuenta());
System.out.println(cb.getDniCliente());
System.out.println(cb.getSaldoActual());
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ejercicio de java POO en netbeans sobre herencia de una cuenta bancaria.

Publicado por matias (7 intervenciones) el 10/04/2023 06:22:17
// main


package ejercicio1;

import servicios1.CuentaBancariaServicio;


public class CuentaBancariaMain {


public static void main(String[] args) {

CuentaBancariaServicio cb = new CuentaBancariaServicio();
}

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ejercicio de java POO en netbeans sobre herencia de una cuenta bancaria.

Publicado por Kabuto (1381 intervenciones) el 10/04/2023 13:43:01
Hola.
Veamos, la clase CuentaBancaria bien.

La clase CuentaBancariaServicio, aquí hay que corregir algunas cosas.

El método crearCuenta(), no es necesario que retorne nada, ya que directamente está trabajando sobre el objeto CuentaBancaria que se ha declarado como atributo (que por cierto sería más correcto declararlo como private)
Así que ese método puede ser void y no retornar nada.
Otra cosa que podemos añadir, es pedir al usuario el saldo inicial de apertura de la cuenta.

Y para mostrar los datos tras la creación, podemos llamar directamente al método consultarDatos() que ya se encarga de dicha tarea.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class CuentaBancariaServicio {
 
	private CuentaBancaria cb = new CuentaBancaria();
 
 
	public void crearCuenta(){
 
		Scanner scan = new Scanner(System.in);
 
		System.out.println("");
		System.out.println("Ingrese número de cuenta");
		cb.setNumeroCuenta(scan.nextInt());
		System.out.println("Ingrese dni");
		cb.setDniCliente(scan.nextLong());
		System.out.println("");
		System.out.println("Ingrese saldo de apertura");
		cb.setSaldoActual(scan.nextDouble());
 
		consultarDatos();
	}

Los métodos ingresar() y retirar() sí que hay que corregirlos.

Para asignar el valor al saldo, estás intentando acceder directamente al atributo del objeto CuentaBancaria. Pero este atributo es private, así que no vas a poder acceder a él directamente.
1
2
3
4
5
public void ingresarD(double saldoActual){
		if(saldoActual >0){
			cb.saldoActual += saldoActual;
		}
	}

Hay que usar los getter/setter para poder interactuar con el atributo del saldo.

Al método para retirar saldo, además conviene añadir mensaje informativo en caso de que no haya saldo suficiente para cubrir el importe demandado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void ingresarD(double saldoActual){
		if(saldoActual >0){
			cb.setSaldoActual(cb.getSaldoActual() + saldoActual);
		}
	}
 
	public void retirarD(double saldoActual){
		if(cb.getSaldoActual() - saldoActual < 0){
			System.out.println("No hay saldo suficiente para la cantidad solicitada");
			System.out.println("Saldo que se va a retirar: " + cb.getSaldoActual());
			cb.setSaldoActual(0);
		}else{
			cb.setSaldoActual(cb.getSaldoActual() - saldoActual);
		}
	}


El método extraccionRapida():
1
2
d) Método extraccionRapida: le permitirá sacar solo un 20% de su saldo.
Validar que el usuario no saque más del 20%.

Dice que no pude sacar más del 20%, vale pero.., ¿puede sacar menos del 20%?
Por el enunciado podemos interpretar que sí, que puede sacar menos, ya que especifica que validemos que no saque más.

Entonces el usuario ha de proporcionarnos una cantidad double y le daremos dicha cantidad, pero solo si es inferior al 20% de su saldo, ya que este es el máximo que podemos darle.

Así que lo que podemos hacer es calcular primer el máximo que podemos dar, y ya luego vemos que cantidad le vamos a dar, si la que ha solicitado o el máximo permitido:

1
2
3
4
5
6
7
8
9
10
11
12
public void extraccionRapida(double retirar){
		//Calculamos el máximo que puede retirarse, el 20% del saldo actual
		double maximo = cb.getSaldoActual() * 20 /100;
		//Comprobamos que cantidad solicitada no supere el máximo
		if (retirar <= maximo)
			retirarD(retirar);
		else {
			System.out.println("Cantidad solicitada supera el máximo permitido.");
			System.out.println("Cantidad que se va a retirar: " + maximo);
			retirarD(maximo);
		}
	}

Por último, podemos mejorar el método consultarDatos() añadiendo algo de texto descriptivo:
1
2
3
4
5
public void consultarDatos(){
		System.out.println("Nº de cuenta: " + cb.getNumeroCuenta());
		System.out.println("DNI: " + cb.getDniCliente());
		System.out.println("Saldo actual: " + cb.getSaldoActual());
	}



Y bueno, ahora una clase main para poner a prueba lo que hemos escrito.
No se nos dan indicaciones, así que podemos hacerla como queramos.

Lo lógico sería comenzar llamando al método para crear una nueva cuenta.
Y ya luego usar un bucle para mostrar un menú donde el usuario pueda escoger entre las distintas opciones que tiene para interactuar con la cuenta bancaria:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import java.util.Scanner;
 
public class CuentaBancariaMain {
 
	public static void main(String[] args) {
 
		Scanner scan = new Scanner(System.in);
		CuentaBancariaServicio cb = new CuentaBancariaServicio();
		//Comenzamos creando una cuenta nueva
		cb.crearCuenta();
		//A continuación, menú de opciones
		int opcion = 0;
		while (opcion != 9) {
			System.out.println("\n\t\tMENU DE CUENTA BANCARIA\n");
			System.out.println("(1) --- Consultar datos de la cuenta");
			System.out.println("(2) --- Consultar saldo");
			System.out.println("(3) --- Ingresar");
			System.out.println("(4) --- Retirar");
			System.out.println("(5) --- Extraccion Rapida");
			System.out.println("(9) --- TERMINAR PROGRAMA");
			System.out.print("Elija opcion: ");
			opcion = scan.nextInt();
			switch(opcion) {
			case 1:
				System.out.println("\n\tDatos de la cuenta");
				cb.consultarDatos();
				break;
			case 2:
				System.out.println("\n\tSaldo actual");
				cb.consultarSaldo();
				break;
			case 3:
				System.out.println("\n\tIngresar saldo");
				System.out.print("Indique cantidad a ingresar: ");
				cb.ingresarD(scan.nextDouble());
				break;
			case 4:
				System.out.println("\n\tRetirar saldo");
				System.out.print("Indique cantidad a retirar: ");
				cb.retirarD(scan.nextDouble());
				break;
			case 5:
				System.out.println("\n\tExtraccion Rapida");
				System.out.print("Indique cantidad a retirar(maximo 20% de su saldo): ");
				cb.extraccionRapida(scan.nextDouble());
				break;
			case 9:
				System.out.println("\n\n\t\tFIN DE PROGRAMA");
				break;
			default:
				System.out.println("\nOpcion equivocada");
			}
		}
 
		scan.close();
	}
 
}

Pruébalo y pregunta si algo no se entiende o tienes alguna duda.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ejercicio de java POO en netbeans sobre herencia de una cuenta bancaria.

Publicado por matias (7 intervenciones) el 11/04/2023 07:03:34
Muchas gracias Kabuto, te agradezco por la ayuda y la paciencia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar