Ejercicio de Programación - arrays, for, do while, if, else if

Una empresa comercializadora que se dedica a introducir nuevos productos al mercado regional necesita un programa que permita llevar un registro de las ventas, la empresa cuenta al momento con 4 vendedores, 3 productos y 3 zonas, todos los vendedores pueden entrar a cualquier zona y vender cualquiera de los 3 tipos de productos, cada semana el programa mostrará un informe en el cual debe indicar:
a)    El producto más vendido
b)    El producto menos vendido
c)    El mejor vendedor
d)    El peor vendedor
e)    La zona más productiva
f)    La zona menos productiva.

Código del Programa

package comercializadora;

import java.util.Scanner;

public class Comercializadora {

    public static void main(String[] args) {
        double[][][] ventas = new double[4][3][3];
        int vendedor, producto, zona;
        char opc;
        String prod, vend,z;
        Scanner scanner = new Scanner(System.in);
        do {
            System.out.println("Registro de Ventas");
            System.out.println("==================");
            System.out.println();
            System.out.println("Vendedor");
            System.out.println("--------");
            System.out.println("1. Vendedor 1");
            System.out.println("2. Vendedor 2");
            System.out.println("3. Vendedor 3");
            System.out.println("4. Vendedor 4");
            do {
                System.out.print("Elija un vendedor [1-2-3-4]: ");
                vendedor = scanner.nextInt();
            } while (vendedor < 1 || vendedor > 4);
            System.out.println("Producto");
            System.out.println("--------");
            System.out.println("1. Producto 1");
            System.out.println("2. Producto 2");
            System.out.println("3. Producto 3");
            do {
                System.out.print("Elija un producto [1-2-3]: ");
                producto = scanner.nextInt();
            } while (producto < 1 || producto > 3);
            System.out.println("Zona");
            System.out.println("----");
            System.out.println("1. Zona 1");
            System.out.println("2. Zona 2");
            System.out.println("3. Zona 3");
            do {
                System.out.print("Elija una zona [1-2-3]: ");
                zona = scanner.nextInt();
            } while (zona < 1 || zona > 3);
            System.out.print("Ingrese monto de ventas: ");
            ventas[vendedor - 1][producto - 1][zona - 1] += scanner.nextFloat();
            do {
                System.out.print("Desea registrar más ventas?[S-N]: ");
                opc = scanner.next().toUpperCase().charAt(0);
            } while (opc != 'S' && opc != 'N');
        } while (opc != 'N');
      
        //calculando la venta total por productos
        int[] ventasP = new int[3];
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 3; j++) {
                ventasP[0] += ventas[i][0][j];
            }
        }

        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 3; j++) {
                ventasP[1] += ventas[i][1][j];
            }
        }

        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 3; j++) {
                ventasP[2] += ventas[i][2][j];
            }
        }
      
        //obteniendo producto más vendido
        if (ventasP[0] > ventasP[1] && ventasP[0] > ventasP[2]) {
            prod = "Producto 1";
        } else if (ventasP[1] > ventasP[0] && ventasP[1] > ventasP[2]) {
            prod = "Producto 2";
        } else {
            prod = "Producto 3";
        }
        System.out.println("El producto más vendido es " + prod);
        //obteniendo el producto más vendido
        if (ventasP[0] < ventasP[1] && ventasP[0] < ventasP[2]) {
            prod = "Producto 1";
        } else if (ventasP[1] < ventasP[0] && ventasP[1] < ventasP[2]) {
            prod = "Producto 2";
        } else {
            prod = "Producto 3";
        }
        System.out.println("El producto menos vendido es " + prod);
       
        //obteniendo el total de ventas por vendedor
        int[] ventasV = new int[4];
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                ventasV[0] += ventas[0][i][j];
            }
        }

        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                ventasV[1] += ventas[1][i][j];
            }
        }

        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                ventasV[2] += ventas[2][i][j];
            }
        }

        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                ventasV[3] += ventas[3][i][j];
            }
        }
        //obteniendo mejor vendedor
        if (ventasV[0] > ventasV[1] && ventasV[0] > ventasV[2] && ventasV[0] > ventasV[3]) {
            vend = "Vendedor 1";
        } else if (ventasV[1] > ventasV[0] && ventasV[1] > ventasV[2] && ventasV[1] > ventasV[3]) {
            vend = "Vendedor 2";
        } else if (ventasV[2] > ventasV[0] && ventasV[2] > ventasV[1] && ventasV[2] > ventasV[3]) {
            vend = "Vendedor 3";
        } else {
            vend = "Vendedor 4";
        }
        System.out.println("El mejor vendedor es:  " + vend);
       
        //obteniendo el peor vendedor
        if (ventasV[0] < ventasV[1] && ventasV[0] < ventasV[2] && ventasV[0] < ventasV[3]) {
            vend = "Vendedor 1";
        } else if (ventasV[1] < ventasV[0] && ventasV[1] < ventasV[2] && ventasV[1] < ventasV[3]) {
            vend = "Vendedor 2";
        } else if (ventasV[2] < ventasV[0] && ventasV[2] < ventasV[1] && ventasV[2] < ventasV[3]) {
            vend = "Vendedor 3";
        } else {
            vend = "Vendedor 4";
        }
        System.out.println("El peor vendedor es:  " + vend);
        //calculando la venta total por productos
        int[] ventasZ = new int[3];
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 3; j++) {
                ventasZ[0] += ventas[i][j][0];
            }
        }

        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 3; j++) {
                ventasZ[1] += ventas[i][j][1];
            }
        }

        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 3; j++) {
                ventasZ[2] += ventas[i][j][2];
            }
        }
      
        //obteniendo producto más vendido
        if (ventasZ[0] > ventasZ[1] && ventasZ[0] > ventasZ[2]) {
            z = "Zona 1";
        } else if (ventasZ[1] > ventasZ[0] && ventasZ[1] > ventasZ[2]) {
            z = "Zona 2";
        } else {
            z = "Zona 3";
        }
        System.out.println("La mejor zona es: " + z);
        //obteniendo el producto más vendido
        if (ventasZ[0] < ventasZ[1] && ventasZ[0] < ventasZ[2]) {
            z = "Zona 1";
        } else if (ventasZ[1] < ventasP[0] && ventasZ[1] < ventasZ[2]) {
            z= "Zona 2";
        } else {
            z = "Zona 3";
        }
        System.out.println("La peor zona es: " + z);
    }
}

Comentarios

Entradas populares de este blog

Ejercicio de Programación - switch, if

Ejercicio de Programación - do while