Java - Código que hace descuentos según cantidades

 
Vista:
Imágen de perfil de Lagh
Val: 51
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Código que hace descuentos según cantidades

Publicado por Lagh (13 intervenciones) el 03/07/2019 16:14:37
java programa supermercado si el cliente lleva entre: 2 y 5 unidades se realiza un 10% de descuento. -
si lleva entre 6 y 10 unidades se realiza un 15% de descuento. -
si lleva entre 11 y 20 unidades se realiza un 20% de descuento. -
si lleva mas de 20 unidades se realiza un 45% de descuento.

realizar un codigo que resuelva los pasos anteriores y además imprima el precio unitario, el precio con descuento y la cantidad de productos, sabiendo que el precio del producto y la cantidad de productos se ingresan por teclado responder.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-2
Responder
Imágen de perfil de Kabuto
Val: 1.961
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Código que hace descuentos según cantidades

Publicado por Kabuto (488 intervenciones) el 04/07/2019 10:46:16
Comienza tú un código y te ayudamos a completarlo.
Crea al menos un programa que pida cantidad de producto y precio y tan solo calcule el precio final. (básicamente es hacer una multiplicación)

Teniendo eso, intenta o te ayudamos a implementar lo de los descuentos.
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
Imágen de perfil de lagh
Val: 51
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Código que hace descuentos según cantidades

Publicado por lagh (13 intervenciones) el 05/07/2019 02:46:52
hola si grcias yo tengo esto pero me faltan cosas no queda completo y estoy trabada!

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
public static void main(String[] args) {
 
    Scanner sc = new Scanner(System.in);
 
    int productos,producto,codigo,precio;
    productos = 0;
    System.out.println(" cantidad de productos :");
    int num = sc.nextInt();
 
    System.out.print("precio (producto): ");
    precio=sc.nextInt();
 
    int valor = num * 50;
    int dcto = 0;
    if (num <5){
        dcto = (int) (valor *0.1);
 
    } else if (num >=5 && num <10) {
        dcto = (int) (valor * 0.2);
    } else {
        dcto = (int) (valor * 0.4);
    }
 
 
    System.out.println("el valor a pagar es: " + (valor - dcto));
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Kabuto
Val: 1.961
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Código que hace descuentos según cantidades

Publicado por Kabuto (488 intervenciones) el 05/07/2019 11:10:22
Hola

Fíjate que aquí declaras variables de las que luego solo usarás una:
1
int productos,producto,codigo,precio;

Esto no se el motivo, ¿por qué multipicar por 50?
1
int valor = num * 50;


Te propongo este código:
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
public static void main(String[] args) {
 
    Scanner sc = new Scanner(System.in);
 
    System.out.println("Cantidad de productos :");
    int cantidad = sc.nextInt();
 
    System.out.print("Precio (producto): ");
    int precioUnitario=sc.nextInt();
 
    int importe = cantidad * precioUnitario; //importe SIN descuento
 
    System.out.println("\nCantidad de productos: " + cantidad);
    System.out.println("Precio unitario: " + precioUnitario);
    System.out.println("Importe base: " + importe);
 
    //Ahora veremos si se aplica algún descuento
    if (cantidad >= 2 && cantidad <= 5) {
        System.out.println("\nDescuento aplicable: 10%");
        System.out.println("Importe con descuento: " + (importe * 0.9));
    }
    else if (cantidad >= 6 && cantidad <= 10) {
        System.out.println("\nDescuento aplicable: 15%");
        System.out.println("Importe con descuento: " + (importe * 0.85));
    }
    else if (cantidad >= 11 && cantidad <= 20) {
        System.out.println("\nDescuento aplicable: 20%");
        System.out.println("Importe con descuento: " + (importe * 0.8));
    }
    else if (cantidad > 20) {
        System.out.println("\nDescuento aplicable: 45%");
        System.out.println("Importe con descuento: " + (importe * 0.55));
    }
 
    sc.close(); //Cierre objeto Scanner
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de lagh
Val: 51
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Código que hace descuentos según cantidades

Publicado por lagh (13 intervenciones) el 05/07/2019 14:29:55
Gracias Kabuto ahora en la tarde voy a probarlo e ir modificando ... se me complico mucho el tema de los descuentos y el no poder poner en orden la cantidad de productos y en cuanto a lo que me decias de los 50 int valor = num * 50; jaja totalmente no se que quise hacer !!
te debo una... ! me recomendas alguna pagina o videos como para ver algo de java de este tipo de codigos.
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
Imágen de perfil de Lagh
Val: 51
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Código que hace descuentos según cantidades

Publicado por Lagh (13 intervenciones) el 09/07/2019 20:29:39
Kabuto me ayudas con esto no cálcula la cantidad de alumnos aprobados y desaprobados y tampoco calcula el promedio de todas las notas.
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
Scanner obtener = new Scanner(System.in);
 
int rp=0,ap=0,Alumnos,i,notaMayor,notaMenor,nota,sumaNotas,notas,promedio=0;
 
System.out.print("Ingrese la cantidad de N Alumnos: ");
 
Alumnos = obtener.nextInt();
 
notaMayor = 0;
 
notaMenor = 100;
 
sumaNotas = 0;
 
 
 
for(i = 1; i <= Alumnos; i++)
 
{
 
System.out.print("Ingrese la nota para el Alumno: " + i + " : ");
 
nota = obtener.nextInt();
 
sumaNotas = sumaNotas + nota;
 
if(nota > notaMayor)
 
{
 
notaMayor=nota;
 
}
 
if(nota < notaMenor)
 
{
 
notaMenor=nota;
 
}
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
Imágen de perfil de Kabuto
Val: 1.961
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Código que hace descuentos según cantidades

Publicado por Kabuto (488 intervenciones) el 10/07/2019 00:21:20
Bueno, casi lo tienes. Tan solo te falta algo más de código para contar aprobados y reprobados y luego mostrar en pantalla los resultados.

También he borrado un par de variables que no vas a necesitar.

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
public static void main(String[] args) {
 
    Scanner obtener = new Scanner(System.in);
 
    int rp=0,ap=0,Alumnos,i,notaMayor,notaMenor,nota,sumaNotas;
 
    System.out.print("Ingrese la cantidad de N Alumnos: ");
 
    Alumnos = obtener.nextInt();
 
    notaMayor = 0;
 
    notaMenor = 100;
 
    sumaNotas = 0;
 
 
 
    for(i = 1; i <= Alumnos; i++) {
 
        System.out.print("Ingrese la nota para el Alumno: " + i + " : ");
        nota = obtener.nextInt();
 
        sumaNotas = sumaNotas + nota;
 
        if(nota > notaMayor)
            notaMayor=nota;
 
        if(nota < notaMenor)
            notaMenor=nota;
 
        if (nota < 5)
            rp++;
        else
            ap++;
 
    }
 
    System.out.println("\nRESULTADOS...\n");
    System.out.println("Alumnos aprobados: " + ap);
    System.out.println("Alumnos reprobados: " + rp);
    System.out.println("La nota MAYOR es: " + notaMayor);
    System.out.println("La nota MENOR es: " + notaMenor);
    System.out.println("La nota PROMEDIO es: " + (sumaNotas/Alumnos));
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Lagh
Val: 51
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Código que hace descuentos según cantidades

Publicado por Lagh (13 intervenciones) el 10/07/2019 03:21:02
Gracias te debo millones... me re ayudaste estaba re loca porque no me salía... es más tenes algún tutorial a favor mío jaja para aprender más.
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
Imágen de perfil de Lagh
Val: 51
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Código que hace descuentos según cantidades

Publicado por Lagh (13 intervenciones) el 15/07/2019 19:19:13
hol kabu otra vez yo podes ayudarme con esto que no estaria entendiendo.

la primera Escribir un algoritmo que convierta temperaturas de Fahrenheit a Celcius.
Utilizar la fórmula ºC = (5/9)·(ºF – 32).
me dicen que esta mal que no hace los calculos correctaente.

mi codigo:
1
2
3
4
5
6
7
8
9
Scanner sc=new Scanner(System.in);
System.out.println("Seleccion  conversion:") ;
System.out.println("1. ºF  a  ºC:");
 
int n=sc.nextInt();
System.out.println("Ingresa grados fahrenheit");
int f=sc.nextInt();
double c=(f-32)*5/9;
System.out.println(f+"ºF equivale  a "+c+"ºC");




por otra parte en la que me ayudaste me dicen que pasa esto:, el promedio de notas no se calcula de manera exacta, ya que no se declaran las variables que intervienen en la división como un tipo de datos que acepte decimales. Por otra parte, para validar los aprobados y reprobados se utiliza "if (nota < 5)" esto indica que todos los números menores a 5 son notas reprobadas, pero cuando la nota es igual a 5 se considera como aprobado lo cual no es correcto.


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
public static void main(String[] args) {
 
    Scanner obtener = new Scanner(System.in);
 
    int rp=0,ap=0,Alumnos,i,notaMayor,notaMenor,nota,sumaNotas;
 
    System.out.print("Ingrese la cantidad de N Alumnos: ");
 
    Alumnos = obtener.nextInt();
 
    notaMayor = 0;
 
    notaMenor = 100;
 
    sumaNotas = 0;
 
 
 
    for(i = 1; i <= Alumnos; i++) {
 
        System.out.print("Ingrese la nota para el Alumno: " + i + " : ");
        nota = obtener.nextInt();
 
        sumaNotas = sumaNotas + nota;
 
        if(nota > notaMayor)
            notaMayor=nota;
 
        if(nota < notaMenor)
            notaMenor=nota;
 
        if (nota < 5)
            rp++;
        else
            ap++;
 
    }
 
    System.out.println("\nRESULTADOS...\n");
    System.out.println("Alumnos aprobados: " + ap);
    System.out.println("Alumnos reprobados: " + rp);
    System.out.println("La nota MAYOR es: " + notaMayor);
    System.out.println("La nota MENOR es: " + notaMenor);
    System.out.println("La nota PROMEDIO es: " + (sumaNotas/Alumnos));
 
}




y por ultimo

Escribir un algoritmo donde se puedan ingresar N números y los separe por los menores a 50 inclusive, los que están entre 51 y 100 y los mayores a 100. Imprimir los números con sus correspondientes mensajes.

yo lo hice asi: codigo abajo.

el error que me marcan.
el programa debe verificar la cantidad de números que indique el usuario, se debe pedir la cantidad de números y luego recibir cada número a validar en otra variable, el procedimiento esta mal aplicado.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Scanner teclado=new Scanner(System.in);
 
int n,num;
System.out.println("Ingrese  numero:");
n=teclado.nextInt();
 
 
for(num=n;num<=n;num++) {
 
 
    if(num<=50)
    System.out.println("El numero es menor o igual a 50: "+num);
 
 
    if(num>=51&&num<=100)
    System.out.println("el numero es mayor o igual a 51 y menor o igual que 100:"+num);
 
 
 
    if(num>100)
    System.out.println("el numero es mayor a 100:"+num);
 
 
}}}
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
Imágen de perfil de Billy Joel
Val: 1.831
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Código que hace descuentos según cantidades

Publicado por Billy Joel (489 intervenciones) el 15/07/2019 21:29:45
Situación #1
Creo que lo que necesitas son métodos como estos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
 * Transforma grados centigrados a grados fahrenheit
 *
 * @param centigrados
 * @return
 */
public double centigrados2Farenheit(double centigrados) {
    return (centigrados * 9 / 5) + 32;
}
 
/**
 * Transforma grados Fahrenheit a Centigrados
 *
 * @param fahrenheit
 * @return
 */
public double fahrenheit2Centigrados(double fahrenheit) {
    return (fahrenheit - 32) * (5 / 9);
}

Situación #2
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
public static void main(String[] args) {
    Scanner obtener = new Scanner(System.in);
    int rp = 0, ap = 0, alumnos, notaMayor, notaMenor, nota, sumaNotas;
    System.out.print("Ingrese la cantidad de N Alumnos: ");
    alumnos = obtener.nextInt();
    notaMayor = 0;
    notaMenor = 100;
    sumaNotas = 0;
    for (int i = 1; i <= alumnos; i++) {
        System.out.print("Ingrese la nota para el Alumno: " + i + " : ");
        nota = obtener.nextInt();
        sumaNotas += nota;
        if (nota > notaMayor) {
            notaMayor = nota;
        }
        if (nota < notaMenor) {
            notaMenor = nota;
        }
        if (nota < 5) {
            rp++;
        } else {
            ap++;
        }
    }
    System.out.println("\nRESULTADOS...\n");
    System.out.println("Alumnos aprobados: " + ap);
    System.out.println("Alumnos reprobados: " + rp);
    System.out.println("La nota MAYOR es: " + notaMayor);
    System.out.println("La nota MENOR es: " + notaMenor);
    double promedio = sumaNotas / alumnos;
    System.out.println("La nota PROMEDIO es: " + String.format("%.2f", promedio));
}

Situación #3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/**
 * Escribir un algoritmo donde se puedan ingresar N números y los separe por
 * los menores a 50 inclusive, los que están entre 51 y 100 y los mayores a
 * 100. Imprimir los números con sus correspondientes mensajes.
 *
 * @param args
 */
public static void main(String[] args) {
    Scanner teclado = new Scanner(System.in);
    int n, num;
    System.out.print("Ingrese la cantidad de numeros: ");
    n = teclado.nextInt();
    for (int i = 0; i < n; i++) {
        System.out.print("Ingrese un numero: ");
        num = teclado.nextInt();
        if (num <= 50) {
            System.out.println("El numero es menor o igual a 50: " + num);
        } else if (num >= 51 && num <= 100) {
            System.out.println("el numero es mayor o igual a 51 y menor o igual que 100:" + num);
        } else {
            System.out.println("el numero es mayor a 100:" + num);
        }
    }
}

Saludos,
Billy Joel
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
Imágen de perfil de Kabuto
Val: 1.961
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Código que hace descuentos según cantidades

Publicado por Kabuto (488 intervenciones) el 16/07/2019 00:33:32
Hoolaaa Lagh.

Tu conversor a Fahrenheit convierte correctamente, puedes comprobarlo en este conversor online
Lo único es que el valor lo lees en un int y al hacer la conversión se pierden los decimales.
Usa un double en lugar de int para leer el dato y ya está.

Esto mismo es lo que ocurría en el otro ejercicio al calcular el promedio de notas.
Para corregirlo te basta con declarar la variable sumaNotas como double
1
2
3
4
5
6
public static void main(String[] args) {
 
    Scanner obtener = new Scanner(System.in);
 
    int rp=0,ap=0,Alumnos,i,notaMayor,notaMenor,nota;
    double sumaNotas;

Sobre esto:
1
2
3
para validar los aprobados y reprobados se utiliza "if (nota < 5)"
esto indica que todos los números menores a 5 son notas reprobadas,
pero cuando la nota es igual a 5 se considera como aprobado lo cual no es correcto.
Todo depende del rango de notas que se vaya a usar para puntuar.

Si se puntúa de 0 a 10, un 5 es un aprobado (al menos en España xD )
Si se puntúa de 0 a 12, un 6 sería un aprobado
Si se puntúa de 0 a 100, pues entonces hará falta un 50 para aprobar.
Etc...

En fin, no se que rango de notas se pretendía aplicar en ese ejercicio. Que te lo indiquen y en el IF bastará con poner el valor mínimo para considerar aprobado al alumno.

El tercer ejercicio ya te lo ha resuelto el amigo Billy que es un genio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Lagh
Val: 51
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Código que hace descuentos según cantidades

Publicado por Lagh (13 intervenciones) el 16/07/2019 00:39:28
Gracias kabu si en argentina es de 6 para aprobar jaja pero ya pude corregirlo sola por suerte a ese ejercicio y el de faren aplique otro también un poco más sencillo en cuanto a el último ejercicio me sirvió así que gracias a los dos! Ese conversor me viene genial Mil gracias
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