Ejercicio:
Se requiere una matriz que realice las siguientes operaciones
-Ingresar TC(meses[1-12] ) y TF(vendedor)
-Obtener la información de ventas de cada mes y vendedor
-Obtener el mejor y el peor vendedor
-Obtener el mejor y el peor mes de ventas
-Dado un mes(COLUMNAS), obtener el mejor y el peor vendedor
-Dado un vendedor(FILAS), obtener el mejor y el peor mes de ventas
Incluir menú
Código:
//código del menú
package metodos;
import javax.swing.JOptionPane;
import static metodos.miMatriz.mes;
import static metodos.miMatriz.vendedor;
public class menu1{
public static void main(String args[]){
int opcion;
String op;
do{
op= JOptionPane.showInputDialog("Menu De opciones: \n"
+ "1) Ingresar TC(meses[1-12] ) y TF(vendedor)\n"
+ "2) Obtener la informacion de ventas de cada mes y vendedor\n"
+ "3) Obtener el mejor y el peor vendedor \n"
+ "4) Obtener el mejor y el peor mes de ventas\n "
+ "5) Dado un mes(TC), obtener el mejor y el peor vendedor\n"
+ "6) Dado un vendedor(TF), obtener el mejor y el peor mes de ventas\n"
+ "7) EJECUTAR TODAS LAS OPCIONES(RECOMENDADA)\n "
+ "8) Salir\n");
try{
opcion = Integer.parseInt(op);
}catch(NumberFormatException ex){
JOptionPane.showMessageDialog(null, "Error, solo se permiten numeros");
opcion=0;
}
switch(opcion){
case 0:
break;
case 1:
miMatriz.llenarM();
miMatriz.mostrarM();
break;
case 2:
miMatriz.vectorMes();
miMatriz.vectorVendedor();
miMatriz.mostrarVec("La información de ventas de cada mes es: ", mes);
miMatriz.mostrarVec("La información de ventas de cada vendor es: ", vendedor);
break;
case 3:
miMatriz.MejorVendedor();
miMatriz.PeorVendedor();
break;
case 4:
miMatriz.MejorVendedor();
miMatriz.PeorVendedor();
break;
case 5:
miMatriz.pedircolumna();
break;
case 6:
miMatriz.pedirfila();
break;
case 7:
miMatriz.llenarM();
miMatriz.mostrarM();
miMatriz.vectorMes();
miMatriz.mostrarVec("La información de ventas de cada mes es: ", mes);
miMatriz.vectorVendedor();
miMatriz.mostrarVec("La información de ventas de cada vendor es: ", vendedor);
miMatriz.MejorVendedor();
miMatriz.PeorVendedor();
miMatriz.MejorMes();
miMatriz.PeorMes();
miMatriz.pedircolumna();
miMatriz.pedirfila();
break;
default: JOptionPane.showMessageDialog(null, "Saliendo...");
}
}while(opcion !=8);
}
}
//-------------------------------------------------------------------------------------------------
//Código del programa
package metodos;
import javax.swing.JOptionPane;
public class miMatriz {
public static int ventas[][];
public static int mes[];
public static int vendedor[];
public static int tf, tc;
public static void llenarM(){
int i, j;
tc = Integer.parseInt( JOptionPane.showInputDialog(
"Entre número de meses [1 - 12]:") );
tf = Integer.parseInt( JOptionPane.showInputDialog(
"Entre número de vendedores: ") );
ventas = new int[tf][tc];
mes = new int[tc];
vendedor = new int[tf];
for(i=0; i<tf; i++){
for(j=0; j<tc; j++){
ventas[i][j] = Integer.parseInt(JOptionPane.showInputDialog(
"Entre ventas del vendedor en ["+i+"]["+j+"]:"));
}
}
}
public static void mostrarM( ){
int i, j;
String aux="Los elementos de la matriz de ventas son: \n";
for(i=0; i<tf; i++){
for(j=0; j<tc; j++){
aux += "[ "+ventas[i][j]+" ]";
}
aux+="\n";
}
JOptionPane.showMessageDialog(null, aux);
}
public static void vectorMes(){
int i, j;
for(j=0;j<tc;j++){
for(i=0; i<tf; i++){
mes[j] += ventas[i][j];
}
}
}
public static void vectorVendedor(){
int i, j;
for(i=0; i<tf; i++){
for(j=0; j<tc; j++){
vendedor[i] += ventas[i][j];
}
}
}
public static void mostrarVec( String x, int vec[] ){
int i;
String aux="< ";
for(i=0; i<vec.length; i++){
if( i < (vec.length-1) )
aux += ""+vec[i]+","
+ " ";
else
aux += ""+vec[i]+" >";
}
JOptionPane.showMessageDialog(null, ""+x+"\n"+aux);
}
public static void MejorVendedor( ){
int pos=0, i;
int may=vendedor[0];
for(i=0; i<vendedor.length; i++){
if(vendedor[i]>may){
may=vendedor[i];
pos=i;
}
}
JOptionPane.showMessageDialog(null, "El mejor vendedor es: "+pos);
}
public static void PeorVendedor( ){
int pos1=0, i;
int men=vendedor[0];
for(i=0; i<vendedor.length; i++){
if(vendedor[i]<men){
men=vendedor[i];
pos1=i;
}
}
JOptionPane.showMessageDialog(null, "El peor vendedor es: "+pos1);
}
public static void MejorMes( ){
int pos=0, i;
int may=mes[0];
for(i=0; i<mes.length; i++){
if(mes[i]>may){
may=mes[i];
pos=i;
}
}
JOptionPane.showMessageDialog(null, "El mejor mes de ventas es: "+pos);
}
public static void PeorMes( ){
int pos=0, i;
int men=mes[0];
for(i=0; i<mes.length; i++){
if(mes[i]<men){
men=mes[i];
pos=i;
}
}
JOptionPane.showMessageDialog(null, "El peor mes de ventas es: "+pos);
}
public static void pedircolumna(){
int c=0, tc1, o;
tc1= Integer.parseInt( JOptionPane.showInputDialog(
"Ingrese el número de columna en la que desea buscar:") );
if(tc1>=ventas[0].length){
JOptionPane.showInputDialog("Opcion no valida");
}
o = Integer.parseInt( JOptionPane.showInputDialog(
"OPCIONES: \n"
+ "1) Hallar el mejor mes de ventas \n"
+ "2) Hallar el peor mes de ventas \n") );
if (o==1){
JOptionPane.showMessageDialog(null, "El mayor dato en la columna "+tc1+" es:" +Obtenermayor(tc1, ventas));
}
else {
if(o==2){
JOptionPane.showMessageDialog(null, "El menor dato en la columna "+tc1+" es:" +Obtenermenor(tc1, ventas));
}
else{
JOptionPane.showMessageDialog(null, "Opcion no valida");
}
}
}
public static int Obtenermayor(int mes, int ventas[][]){
int mayor= ventas[0][mes];
for(int i=1; i<ventas.length; i++){
if(ventas[i][mes]>mayor){
mayor = ventas[i][mes];
}
}
return mayor;
}
public static int Obtenermenor(int mes, int ventas[][]){
int menor= ventas[0][mes];
for(int i=1; i<ventas.length; i++){
if(ventas[i][mes]<menor){
menor = ventas[i][mes];
}
}
return menor;
}
public static void pedirfila(){
int c=0, tc1, o;
tc1= Integer.parseInt( JOptionPane.showInputDialog(
"Ingrese el número de fila en la que desea buscar:") );
if(tc1>=ventas[0].length){
JOptionPane.showInputDialog("Opcion no valida");
}
o = Integer.parseInt( JOptionPane.showInputDialog(
"OPCIONES: \n"
+ "1) Hallar el mejor vendedor \n"
+ "2) Hallar el peor vendedor \n") );
if (o==1){
JOptionPane.showMessageDialog(null, "El mayor dato en la fila "+tc1+" es:" +Obtenermayorf(tc1, ventas));
}
else {
if(o==2){
JOptionPane.showMessageDialog(null, "El menor dato en la fila "+tc1+" es:" +Obtenermenorf(tc1, ventas));
}
else{
JOptionPane.showMessageDialog(null, "Opcion no valida");
}
}
}
public static int Obtenermayorf(int vendedor, int ventas[][]){
int mayor= ventas[vendedor][0];
for(int i=1; i<ventas.length; i++){
if(ventas[vendedor][i]>mayor){
mayor = ventas[vendedor][i];
}
}
return mayor;
}
public static int Obtenermenorf(int vendedor, int ventas[][]){
int menor= ventas[vendedor][0];
for(int i=1; i<ventas.length; i++){
if(ventas[vendedor][i]<menor){
menor = ventas[vendedor][i];
}
}
return menor;
}
public static void main(String args[]){
llenarM();
mostrarM();
vectorMes();
mostrarVec("La información de ventas de cada mes es: ", mes);
vectorVendedor();
mostrarVec("La información de ventas de cada vendor es: ", vendedor);
MejorVendedor();
PeorVendedor();
MejorMes();
PeorMes();
pedircolumna();
pedirfila();
System.exit(0);
}
}