Problema:
Crea un programa que presente el estado de cuenta al final del trimestre para el cliente. Solicita el balance del trimestre anterior, el total de gastos realizados durante el trimestre y el total de depósitos hechos durante el mismo. Calcula los intereses ganados en la cuenta al finalizar el trimestre a un 2%. Pregunta si desea donar con la CASA de Apoyo a la Niñez (CAN) y de cuanto seria el donativo en el caso que desee aportar.
A) Entradas:
-En caso de responder “si” para la donación a CAN: 6 entradas totales
-De lo contrario: 5 entradas totales
B) Procesos: * En ambos casos donde la repuesta a la donación sea “si” o “no”: 5 procesos en total * Declaración de variable * Declaración de constante * Proceso para calcular: balActual antes de preguntar por donativo * Proceso para calcular: balActual, interesGan, balFinal CON donativo * Proceso para calcular: balActual, interesGan, balFinal SIN donativo * Procesos principales: 3 * Proceso del while loop * Proceso para calcular balActual antes de preguntar por donativo * Proceso para cuando cliente dona a CAN y para cuando no dona a CAN
C) Salidas: * Total de salidas para cuando respuesta a donación es “si”: 13 * Total de salidas para cuando respuesta a donación es “no”: 11 * Salidas principales: * Cuando respuesta a donación es “si”: 5 * Balance total * Intereses ganados * Balance final * Mensaje de agradecimiento por CAN * Mensaje de repetición del programa para cliente nuevo * Cuando respuesta a donación es “no”: 4 * Balance total * Intereses ganados * Balance final * Mensaje de repetición del programa para cliente nuevo
Diagrama de dirección (flowchart)
Diagrama de dirección (flowchart)
//Declaracion de Constantes double INTERES = 0.02;
//Imprime el título
System.out.println();
System.out.println("************************************************************************************");
System.out.println("***Esto es un systema automatizado para calcular el balance trimestral de cliente***");
System.out.println("************************************************************************************");
System.out.println();
//Preguntar si desea realizar balance de cliente. Comienzo de loop
System.out.print("Desea calcular balance de cliente? (Y , N): "); respuesta = console.nextLine();
System.out.println();
//Tarea que realiza si la respuesta es cierta. while(respuesta.equalsIgnoreCase("y")){ //Balance Anterior
System.out.print("Ingrese BALANCE de trimestre ANTERIOR:$ "); balAnterior = console.nextDouble();
//Retiros
System.out.print("Indique cantidad total de RETIROS registradas en la cuenta:$ "); retiros = console.nextDouble();
//depositos
System.out.print("Indique cantidad total de DEPOSITOS registrados a la cuenta:$ "); depositos = console.nextDouble();
//Proceso para balance actual balActual = ((balAnterior - retiros) + depositos);
//Muestra balance actual
System.out.println("-----------------------------------------");
System.out.println("Este es su balance ACTUAL:$ " + balActual);
System.out.println("-----------------------------------------");
System.out.println();
//Preguntar para donar
System.out.print("Deseas cooperar con la CASA de APOYO a la NIÑEZ (CAN)?: "); respuesta2 = console.next();
System.out.println();
//Si la respuesta es cierta if(respuesta2.equalsIgnoreCase("y")){ System.out.print("Cuanto desea donar?:$ "); donativos = console.nextDouble();
System.out.println();
//Proceso para la calculacion del Balance total, intereses ganados y balance final balTotal = (((balAnterior - retiros) + depositos) - donativos) ; interesGan = (balTotal * INTERES); balFinal = balTotal + interesGan;
//muestra los valores en la pantalla
System.out.println();
System.out.println("#################################");
System.out.println();
System.out.println("Balance Total:$ " + balTotal);
System.out.println("Interes Ganado:$ " + interesGan);
System.out.println("Balance Final:$ " + balFinal);
System.out.println();
System.out.println("CAN le da las gracias por la donación de:$ " + donativos);
System.out.println();
System.out.println("#################################");
System.out.println();
} else{ //Si la repuesta a la donacion fue falsa balTotal = (((balAnterior - retiros) + depositos)) ; interesGan = (balTotal * INTERES); balFinal = balTotal + interesGan;
//muestra los valores en la pantalla
System.out.println("###############################");
System.out.println();
System.out.println("Balance Total:$ " + balTotal);
System.out.println("Interes Ganado:$ " + interesGan);
System.out.println("Balance Final:$ " + balFinal);
System.out.println();
System.out.println("###############################");
System.out.println();
}
//Preguntar si desea calcular nuevamente (repetir loop)
System.out.println();
System.out.print("Desea repetir nuevamente el proceso?: "); respuesta = console.next();
System.out.println();
}
//En el caso de que la repuesta de comenzar el programa sea falsa
System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
System.out.println("¡Gracias por utilizar el sistema automatizado! ¡Vuelva Pronto!");
System.out.println();
System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
System.exit(0);
}
}
Copia de la Salida
Con Donativo
************************************************************************************
***Esto es un sistema automatizado para calcular el balance trimestral de cliente***
************************************************************************************
Desea calcular balance de cliente? (Y , N): y
Ingrese BALANCE de trimestre ANTERIOR:$ 1369.99
Indique cantidad total de RETIROS registradas en la cuenta:$ 578.25
Indique cantidad total de DEPOSITOS registrados a la cuenta:$ 600
-----------------------------------------
Este es su balance ACTUAL:$ 1391.74
-----------------------------------------
Deseas cooperar con la CASA de APOYO a la NIÑEZ (CAN)?: y
CAN le da las gracias por la donación de: $ 10.0
-------------------------------------------------
Sin Donativo
************************************************************************************
***Esto es un sistema automatizado para calcular el balance trimestral de cliente***
************************************************************************************
Desea calcular balance de cliente? (Y , N): y
Ingrese BALANCE de trimestre ANTERIOR:$ 1369.99
Indique cantidad total de RETIROS registradas en la cuenta:$ 578.25
Indique cantidad total de DEPOSITOS registrados a la cuenta:$ 600
-----------------------------------------
Este es su balance ACTUAL:$ 1391.74
-----------------------------------------
Deseas cooperar con la CASA de APOYO a la NIÑEZ (CAN)?: n