Algoritmo proposto :
Desenvolva um algoritmo modularizado que receba o valor da compra de um produto e,
a partir de um menu de opções, permita ao usuário escolher entre:
a. calcular e retornar o pagamento a vista com 20% de desconto; (função com parâmetros)
b. calcular e mostrar o pagamento em duas vezes com entrada e com 10% de desconto;
(procedimento com parâmetros)
c. calcular e retornar o pagamento a vista no cartão com 15% de desconto; (função com
parâmetros)
d. calcular e mostrar o pagamento em duas vezes no cartão com 5% de desconto; (função
com parâmetros)
e. calcular e mostrar o pagamento a prazo em duas vezes sem entrada com acréscimo de
5%; (procedimento com parâmetros)
f.calcular e retornar o pagamento a prazo em três vezes sem entrada com acréscimo de
10%. (função com parâmetros)
Obs1.: após a chamada das funções, mostrar o resultado.
Obs2.: uma das opções do menu deve ser a de sair do programa.
/*
Professor : Lucy Mary
Version 2.0
Created by Mario Cezzare mcezzare@gmail.com on Wed Jun 2 03:15:41 on ttys000
Faculdade Veris IBTA : Turma 1ADSI / 2010
revisado para 2.0 on Thu Jun 10 04:56:28 on ttys000
detalhes da revisão: Tratamento de Erro, e apenas pede o Valor se a opção for != de 7/Sair
//
* Apostila XXXX
* ALG n : 2
* CAPITULO:9
* PAGINA : XXXX
* EXERCICIO : XXX
* XXX. Desenvolva um algoritmo modularizado que receba o valor da compra de um produto e,
a partir de um menu de opções, permita ao usuário escolher entre:
a. calcular e retornar o pagamento a vista com 20% de desconto; (função com parâmetros)
b. calcular e mostrar o pagamento em duas vezes com entrada e com 10% de desconto;
(procedimento com parâmetros)
c. calcular e retornar o pagamento a vista no cartão com 15% de desconto; (função com
parâmetros)
d. calcular e mostrar o pagamento em duas vezes no cartão com 5% de desconto; (função
com parâmetros)
e. calcular e mostrar o pagamento a prazo em duas vezes sem entrada com acréscimo de
5%; (procedimento com parâmetros)
f.calcular e retornar o pagamento a prazo em três vezes sem entrada com acréscimo de
10%. (função com parâmetros)
Obs1.: após a chamada das funções, mostrar o resultado.
Obs2.: uma das opções do menu deve ser a de sair do programa.
*/
import javax.swing.*;
class bim2_hot_cap9_ex_13_v2{
static double Pag_Vista_desc_20 (double x) /* a. calcular e retornar
o pagamento a vista com 20% de desconto; (função com parâmetros) */
{
return x - (x * 0.2);
}
static void Pag_2x_desc_10 (double x) /*b. calcular e mostrar o pagamento em duas vezes com
entrada e com 10% de desconto; (procedimento com parâmetros) */
{
double res,fim;
res = (x / 2);
fim = res - (res*0.1); // 10% desconto
System.out.println("Valor Final: Entrada de R$"+ fim +" + 1 parcela de: R$"+fim);
}
static void Pag_Vista_Cartao (double x, double desc) /*c. calcular e retornar o pagamento a vista no cartão
com 15% de desconto; (função com parâmetros)*/
{
double perc,fim,aux;
//int desc = 15;
/*
fim = x - (x * 0.15);
System.out.println(perc);
System.out.println(aux);*/
perc = (desc/100);
aux = (x * perc);
fim = x - aux ;// 15% desconto
System.out.println("Valor Final: a Vista R$"+ fim + " com " + desc + "% de Desconto" );
}
static void Pag_Cartao_parc(double x)/*d. calcular e mostrar o pagamento em duas vezes no cartão
com 5% de desconto; (função com parâmetros)*/
{
double fim,perc;
perc = 0.10;
fim = x - (x * perc );// 5% desconto
System.out.println("O valor fica em 2 de R$"+ (fim /2) );
}
static void Pag_Prazo_Acres_Parc(double val, double ac,int qt)/*e. calcular e mostrar o pagamento a prazo em duas vezes
sem entrada com acréscimo de 5%; (procedimento com parâmetros)
&
f.calcular e retornar o pagamento a prazo em três vezes sem entrada com acréscimo de
10%. (função com parâmetros)
*/
{ //val - total | ac - % de Acrescimo | qt - qtd de parcelas
double res,fim,parc;
parc = (val / qt);
fim = val + (val *(ac/100)); // % de Acrescimo
System.out.print("Valor Final : " + fim + " em " + qt + " Parcelas de ");
System.out.format("%.2f%n",(fim/qt) );
}
public static void menu(){
String initial = "Opcoes: \n1 - Pagamento a vista \n" +
"2 - 2x Entrada no Ato \n" + "3 - A vista no Cartão \n" + "4 - 2x no Cartão \n" +
"5 - 2x Sem Entrada\n" + "6 - A Prazo Sem Entrada \n" + "7 - Sair \n" + "\n";
System.out.print(initial);
//JOptionPane.showMessageDialog(null,initial);
JOptionPane.showMessageDialog(null, initial, "Bem Vindo, Veja as Opcoes Abaixo", 0,null );
}
public static void main(String args[]) {
int desc,op;
double val,valAux;
menu();
try {
op = Integer.parseInt(JOptionPane.showInputDialog("Digite Opção"));
if (op==7){
val = 0;
}else {
val = Double.parseDouble(JOptionPane.showInputDialog("Digite o valor Total da Compra"));
}
switch(op)
{
case 1:
valAux = Pag_Vista_desc_20(val);
System.out.println("Valor Final: 1 parcela de R$ " + valAux);
System.exit(0);
break;
case 2:
Pag_2x_desc_10(val);
System.exit(0);
break;
case 3:
Pag_Vista_Cartao(val,15); // 15% desconto
System.exit(0);
break;
case 4:
Pag_Cartao_parc(val);
System.exit(0);
break;
case 5:
int qtd;
double acresc;
qtd=Integer.parseInt(JOptionPane.showInputDialog("Qtd de Parcelas"));
if (qtd>2){
JOptionPane.showMessageDialog(null,"Escolha a opção 6 para + de 2 parcelas" );
System.exit(0);
}
acresc = 5;
Pag_Prazo_Acres_Parc(val,acresc,qtd);
System.exit(0);
break;
case 6:
int qtd2;
double acresc2;
qtd2=Integer.parseInt(JOptionPane.showInputDialog("Qtd de Parcelas"));
acresc2 = 10;
Pag_Prazo_Acres_Parc(val,acresc2,qtd2);
System.exit(0);
break;
case 7:
System.out.println("Obrigado. Fim do Programa");
System.exit(0);
break;
default :
System.out.println("Obrigado. Fim do Programa");
System.exit(0);
}
}
catch(Exception e){
System.out.println(e);
System.out.println(e.getCause()); //--> java.lang.NumberFormatException: null
if (e.getCause()==null){
System.out.println("Escolha uma opção!");
JOptionPane.showMessageDialog(null,"Escolha uma opção!" );
}
}
}
}
Nenhum comentário:
Postar um comentário