-
Notifications
You must be signed in to change notification settings - Fork 0
/
CasoUFCTareaCuatro.java
190 lines (155 loc) · 6.86 KB
/
CasoUFCTareaCuatro.java
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
package Tareas;
/**
* Nombre del programa: Caso UFC
* Descripcion: Caso UFC
Usted fue contratado por la Ultimate Fighting Championship (UFC) para realizar un sistema
que maneja la información acerca de sus peleadores, rankings y las ganancias que estos
generan.
* Autor: Kimberly C.
* Fecha de creacion: 18-07-2020
* Modificado por: Kimberly C.
* fecha de modificacion: 18-07-2020
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
public class CasoUFCTareaCuatro {
public static BufferedReader leer = new BufferedReader(new InputStreamReader(System.in));
public static PrintStream escribir = System.out;
public static void main(String[] args) throws IOException {
boolean salir = false;
do {
mostrarMenu();
char opcion = leerOpcion();
salir = ejecutar(opcion);
} while (!salir);
}
static void mostrarMenu() {
escribir.println();
escribir.println("- UFC Menú -");
escribir.println();
escribir.println("A- Encontrar peleador mejor rankeado");
escribir.println("B- Calcular ganancias totales de un peleador");
escribir.println("Q - Salir");
escribir.println();
}
static char leerOpcion() {
try {
escribir.println();
escribir.println("Seleccione una opción:");
char opcion = leer.readLine().charAt(0);
escribir.println();
return opcion;
} catch (Exception iOException) {
return 'x';
}
}
static boolean ejecutar(char pOpcion) throws IOException {
boolean salir = false;
String nombre ="", bonoPerformance="", bonoNoche="";
int ranking=0, peleas=0, vendidas=0, resultado=0;
int peleadores=0, puntosRanking=0;
String nombrePeleador="";
if (pOpcion == 'q') {
salir = true;
escribir.println();
escribir.println("Fin del programa");
} else if (pOpcion == 'a') {
escribir.println();
escribir.println("Iniciamos.. para encontrar el jugador mejor rankeado");
escribir.println();
opcionA(peleadores, nombrePeleador, puntosRanking);
} else if (pOpcion == 'b') {
escribir.println();
escribir.println("Iniciamos.. para calcular ganancias totales de un jugador");
escribir.println();
opcionB(nombre, ranking, peleas, vendidas, resultado, bonoPerformance, bonoNoche);
}
return salir;
}
public static String opcionA(int pPeleadores, String pNombrePeleador, int pPuntosRanking) throws IOException {
String mejorRankeado = null;
int puntosMejorR = 0;
escribir.println("Digite cuantos peleadores va a ingresar:");
pPeleadores = Integer.parseInt(leer.readLine());
for (int count = 0; count < pPeleadores; count++) {
escribir.println("Digite el nombre del peleador " + (count + 1));
pNombrePeleador = leer.readLine();
escribir.println("Digite cuantos puntos tiene el jugador " + pNombrePeleador + " en el ranking:");
pPuntosRanking = Integer.parseInt(leer.readLine());
if (pPuntosRanking > puntosMejorR) {
puntosMejorR = pPuntosRanking;
mejorRankeado = pNombrePeleador;
}
}
escribir.println("El mejor peleador rankeado fue " + mejorRankeado + " con " + puntosMejorR + " puntos");
escribir.println("Presione cualquier tecla para continuar…");
String tecla = leer.readLine();
tecla = " ";
escribir.println(tecla);
return mejorRankeado;
}
public static double opcionB(String pNombre, int pRanking, int pPeleas, int pVendidas, int pResultado,
String pBonoPerformance, String pBonoNoche) throws IOException {
int salario;
double salarioTotal;
int salarioPeleas = 0;
int ppvs = 0;
double taquilla;
int totalPagoPerformance = 0;
int totalPagoNoche = 0;
escribir.println("Digite el nombre del peleador: ");
pNombre = leer.readLine();
escribir.println("Digite el numero de raking: ");
pRanking = Integer.parseInt(leer.readLine());
escribir.println("Digite el numero de peleas: ");
pPeleas = Integer.parseInt(leer.readLine());
for (int count = 0; count < pPeleas; count++) {
escribir.println("Digite la cantidad de PPVs vendidas: ");
pVendidas = Integer.parseInt(leer.readLine());
escribir.println("Digite 1. Si Ganó 2. Si Perdió 3. Empató 4. Descalificado ");
pResultado = Integer.parseInt(leer.readLine());
if (pResultado == 1){
escribir.println("¿El jugador recibió el bono “Performance de la noche”: (Si/No)");
pBonoPerformance = leer.readLine();
if (pBonoPerformance.equalsIgnoreCase("Si")) {
totalPagoPerformance = totalPagoPerformance + 1;
} // Fin del contador de bonos performance
} // Fin del if para cononcer si recibio el bono
escribir.println("¿El jugador recibió el bono “Pelea de la noche”: (Si/No)");
pBonoNoche = leer.readLine();
if (pBonoNoche.equalsIgnoreCase("Si")) {
totalPagoNoche = totalPagoNoche + 1;
} // Fin del contactor de bonos de noche
if (pResultado == 1) {
salario = 40000;
} else if (pResultado == 2) {
salario = 20000;
} else if (pResultado == 3) {
salario = 30000;
} else {
salario = 0;
} // Fin del if para el salario
salarioPeleas = salarioPeleas + salario;
ppvs = ppvs + pVendidas;
} // Fin del for de cada pelea
if (pRanking <= 10) {
salarioTotal = salarioPeleas * 3;
} else if (pRanking > 10 && pRanking < 20) {
salarioTotal = salarioPeleas * 2;
} else {
salarioTotal = salarioPeleas;
}
taquilla = (ppvs * 60) * 0.04;
salarioTotal = salarioTotal + taquilla;
salarioTotal = salarioTotal + (totalPagoPerformance * 50000);
salarioTotal = salarioTotal + (totalPagoNoche * 25000);
escribir.println("Salario pagado al peleador " + pNombre + " es de " + salarioTotal + " dolares");
escribir.println("Presione cualquier tecla para continuar…");
String tecla = leer.readLine();
tecla = " ";
escribir.println(tecla);
return salarioTotal;
}
}