-
Lenguaje
Java usando Scanner
-
Descripción
Calcular lo que hay que pagar por un conjunto de llamadas telefónicas. Por cada llamada se ingresa el tipo (internacional, nacional, local) y la duración en minutos. El criterio que se sigue para calcular el costo de cada llamada es el siguiente:
- Internacional: 3 primeros minutos S/. 4.59. Cada minuto adicional S/. 2.03.
- Nacional: 3 primeros minutos S/. 2.59. Cada minuto adicional S/. 0.45.
- Local: las primeras 50 llamadas no se cobran. Luego cada llamada cuesta S/. 0.72.
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
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
import java.util.Scanner;
public class LlamadaInternacionalNacionalYLocal {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int llamadas_locales, tipo_de_llamada;
double duracion_en_minutos, pago_por_la_llamada, total;
String tecla_repetir;
llamadas_locales = 0;
total = 0;
do {
System.out.print("Ingresa el valor de duracion en minutos: ");
duracion_en_minutos = in.nextDouble();
in.nextLine();
pago_por_la_llamada=0;
System.out.println("Selecciona el valor de tipo de llamada.");
System.out.println("\t1.- Internacional");
System.out.println("\t2.- Nacional");
System.out.println("\t3.- Local");
System.out.print("\t: ");
do {
tipo_de_llamada = in.nextInt();
in.nextLine();
if (tipo_de_llamada<1||tipo_de_llamada>3)
System.out.print("Valor incorrecto. Ingr\u00E9salo nuevamente.: ");
} while (tipo_de_llamada<1||tipo_de_llamada>3);
if(tipo_de_llamada==1&&tipo_de_llamada<=3)
pago_por_la_llamada=duracion_en_minutos*4.59;
if(tipo_de_llamada==1&&tipo_de_llamada>3)
pago_por_la_llamada=3.0*4.59+(duracion_en_minutos-3)*2.03;
if(tipo_de_llamada==2&&tipo_de_llamada<=3)
pago_por_la_llamada=duracion_en_minutos*2.59;
if(tipo_de_llamada==2&&tipo_de_llamada>3)
pago_por_la_llamada=3.0*2.59+(duracion_en_minutos-3)*0.45;
if(tipo_de_llamada==3)
llamadas_locales=llamadas_locales+1;
if(tipo_de_llamada==3&&llamadas_locales>50)
pago_por_la_llamada=0.72;
total=total+pago_por_la_llamada;
System.out.println("Valor de pago por la llamada: " + pago_por_la_llamada);
System.out.println();
do {
System.out.print("\u00BFDeseas repetir el proceso? (S/N): ");
tecla_repetir = in.nextLine();
} while (!tecla_repetir.equalsIgnoreCase("s") && !tecla_repetir.equalsIgnoreCase("n"));
} while (tecla_repetir.equalsIgnoreCase("s"));
System.out.println("Valor de llamadas locales: " + llamadas_locales);
System.out.println("Valor de total: " + total);
}
}
public class LlamadaInternacionalNacionalYLocal {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int llamadas_locales, tipo_de_llamada;
double duracion_en_minutos, pago_por_la_llamada, total;
String tecla_repetir;
llamadas_locales = 0;
total = 0;
do {
System.out.print("Ingresa el valor de duracion en minutos: ");
duracion_en_minutos = in.nextDouble();
in.nextLine();
pago_por_la_llamada=0;
System.out.println("Selecciona el valor de tipo de llamada.");
System.out.println("\t1.- Internacional");
System.out.println("\t2.- Nacional");
System.out.println("\t3.- Local");
System.out.print("\t: ");
do {
tipo_de_llamada = in.nextInt();
in.nextLine();
if (tipo_de_llamada<1||tipo_de_llamada>3)
System.out.print("Valor incorrecto. Ingr\u00E9salo nuevamente.: ");
} while (tipo_de_llamada<1||tipo_de_llamada>3);
if(tipo_de_llamada==1&&tipo_de_llamada<=3)
pago_por_la_llamada=duracion_en_minutos*4.59;
if(tipo_de_llamada==1&&tipo_de_llamada>3)
pago_por_la_llamada=3.0*4.59+(duracion_en_minutos-3)*2.03;
if(tipo_de_llamada==2&&tipo_de_llamada<=3)
pago_por_la_llamada=duracion_en_minutos*2.59;
if(tipo_de_llamada==2&&tipo_de_llamada>3)
pago_por_la_llamada=3.0*2.59+(duracion_en_minutos-3)*0.45;
if(tipo_de_llamada==3)
llamadas_locales=llamadas_locales+1;
if(tipo_de_llamada==3&&llamadas_locales>50)
pago_por_la_llamada=0.72;
total=total+pago_por_la_llamada;
System.out.println("Valor de pago por la llamada: " + pago_por_la_llamada);
System.out.println();
do {
System.out.print("\u00BFDeseas repetir el proceso? (S/N): ");
tecla_repetir = in.nextLine();
} while (!tecla_repetir.equalsIgnoreCase("s") && !tecla_repetir.equalsIgnoreCase("n"));
} while (tecla_repetir.equalsIgnoreCase("s"));
System.out.println("Valor de llamadas locales: " + llamadas_locales);
System.out.println("Valor de total: " + total);
}
}