Java - Ejercicio de condicionales

 
Vista:
sin imagen de perfil

Ejercicio de condicionales

Publicado por Emiliano (2 intervenciones) el 01/05/2017 22:00:27
Ejercicio : 1. En una cadena de supermercados, se aplican descuentos sobre el monto final,
dependiendo de ciertas condiciones.
a) Si el monto final es de más de $500, se aplica un 5% de descuento.
b) Si el medio de pago es “Efectivo” o “Débito”, se aplica un 10% de descuento.
c) Si el cliente forma parte de la comunidad, y además es lunes, se aplica un 10%
de descuento.
Todas las promociones son acumulables. Ej: Si el cliente gastó $600 y paga con débito, se le aplicará un descuento del 15%.

Lo que hice , fue el punto 1 , ya lo otro se me complica , quiero saber como resolverlo , aca lo que hice:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Scanner;
public class condicional {
 
	public static void main(String[] args) {
 
		Scanner m = new Scanner(System.in);
		int montoFinal;
		System.out.print("Monto final: ");
		montoFinal = m.nextInt();
		int descuento = montoFinal*5/100;
		if (montoFinal>500){
		System.out.print("Se aplica un descuento del 5%: ");
		System.out.println(montoFinal-descuento);
		}
	}
}

En consola me imprime:
Monto final: (insertamos cualquier número) ej 600.
Se aplica un descuento del 5%: (el número del monto final - el 5% de ese número) osea da 570
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
sin imagen de perfil

Ejercicio de condicionales

Publicado por Alejandro (8 intervenciones) el 01/05/2017 22:57:33
Supermacado

Esto es lo que estas buscando espeor que lo ayude
adjunto codigo fuente
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 condicionales

Publicado por Jordi (135 intervenciones) el 02/05/2017 13:09:40
Si lo que buscas es por consola esto podría servirte:

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
import java.util.Scanner;
 
public class Descuentos{
 
	String diasSemana[] = {"Lunes", "lunes", "Martes", "martes", "Miercoles", "miercoles", "Jueves", "jueves", "Viernes", "viernes", "Sabado", "sabado", "Domingo", "domingo"};
 
 
	Scanner entradaTexto = new Scanner(System.in);
	Scanner entradaNumeros = new Scanner(System.in);
 
	double monto;
	int descuentoPrecio = 0;
	int descuentoMetodoPago = 0;
	int descuentoCliente = 0;
	boolean lunes = false;
 
	public Descuentos() {
 
		System.out.println("*************");
		System.out.println("*BUENOS DIAS*");
		System.out.println("*************");
 
		pedirDia();
		menu();
 
	}
 
	public void pedirDia(){
 
		System.out.println("Escriba que dia de la semana es hoy.");
 
		String dia = entradaTexto.nextLine();
 
		switch (dia){
 
		case "lunes":
 
			lunes = true;
			break;
 
		case "Lunes":
 
			lunes = true;
			break;
 
		default:
 
			if(!corregirDia(dia)){
 
				System.out.print("Día invalido, ");
				pedirDia();
 
			}
			break;
 
		}
	}
 
	public boolean corregirDia(String dia){
 
		boolean correcto = false;
 
		for(int i = 0; i < diasSemana.length; i++){
 
			if(dia.equals(diasSemana[i])){
 
				correcto = true;
				break;
 
			}
		}
 
		return correcto;
 
	}
 
 
	public void menu(){
 
		System.out.println("");
		System.out.println("Pulse Enter para introducir los datos. Introduzca 'x' para cerrar.");
 
		switch (entradaTexto.nextLine()){
 
		case "":
 
			pedirDatos();
			break;
 
		case "x":
 
			System.out.println("Que acabe de pasar un buen dia :)");
			break;
 
		default :
 
			System.out.println("Orden no programada.");
			menu();
			break;
 
		}
	}
 
	public void pedirDatos(){
 
		descuentoPrecio = 0;
 
		if(lunes)esCliente();
		pedirMonto();
		metodoPago();
		imprimir();
 
	}
 
	public void pedirMonto(){
 
		monto = 0.0;
 
		System.out.println("");
		System.out.println("Introduzca el monto (en double):");
 
		monto = entradaNumeros.nextDouble();
 
		if(monto > 500.0){
 
			descuentoPrecio += 5;
 
		}
 
	}
 
	public void esCliente(){
 
		System.out.println("");
		System.out.println("¿Cliente? ('s' / 'n')");
 
		switch (entradaTexto.nextLine()){
 
			case "s":
 
				descuentoCliente += 10;
				break;
 
			case "n":
 
				break;
 
			default:
 
				System.out.println("Orden no programada, intente de nuevo.");
				esCliente();
				break;
 
		}
 
	}
 
	public void metodoPago(){
 
		System.out.println("");
		System.out.println("Introduzca el método de pago (efectivo / debito / crédito / otro):");
 
		descuentoMetodoPago = 0;
 
		switch (entradaTexto.nextLine()){
 
		case "efectivo":
 
			descuentoMetodoPago = 10;
			break;
 
		case "Efectivo":
 
			descuentoMetodoPago = 10;
			break;
 
		case "debito":
 
			descuentoMetodoPago = 10;
			break;
		case "Debito":
 
			descuentoMetodoPago = 10;
			break;
 
		case "credito":
 
			break;
 
		case "Credito":
 
			break;
 
		case "otro":
 
			break;
 
		case "Otro":
 
			break;
 
		default:
 
			System.out.println("Orden no programada, intente de nuevo.");
			metodoPago();
			break;
 
		}
	}
 
	public double total(){
 
		int descuentoTotal = descuentoCliente + descuentoMetodoPago + descuentoPrecio;
		double aux = monto;
 
		aux -= Math.round(aux * descuentoTotal / 100);
 
		return aux;
 
	}
 
	public void imprimir(){
 
		System.out.println("");
		System.out.println("Descuento Cliente dia Lunes:	" + descuentoCliente + "%");
		if(descuentoMetodoPago > 0)System.out.println("Descuento por método de pago:	" + descuentoMetodoPago + "%");
		System.out.println("Descuento por compra superior a 500$:	" + descuentoPrecio + "%");
 
		System.out.println("Descuento total: " + (descuentoCliente + descuentoMetodoPago + descuentoPrecio) + "%, equivalente a " + Math.round(monto * (descuentoCliente + descuentoMetodoPago + descuentoPrecio) / 100) + "$");
		System.out.println("Total a pagar:	" + total() + "$");
 
		menu();
	}
 
	public static void main(String[] args) {
 
		Descuentos dtoSupermercado = new Descuentos();
 
	}
 
}

Sé bueno.
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