Sunteți pe pagina 1din 8

Object cuentas[][];

cuentas = new Object[4][10];


Object operaciones[][];
operaciones = new Object[100][3];
int opcion, columna, fila, cuenta, cualCuenta = 0, cuantasCuentas = 0,
filasRetiros = 0;
JTextArea hoja = new JTextArea();
String salida = "", nombre;
int donde = 0;
double saldoInicial, cuantoDepositar;
boolean existe = false, HayCuenta = false;
opcion = Integer.parseInt(JOptionPane.showInputDialog("Menú: \n1. Agregar
cuenta\n2. Depositar\n3. Retirar\n4. Ver cuentas\n5. Ver historial de
transacciones\nCualquier otro número pasa salir"));
for (columna = 0; columna < 10; columna++) {
cuentas[0][columna] = 000;
}
while (opcion >= 1 && opcion <= 5) {
switch (opcion) {
case 1:
existe = false;
HayCuenta = false;
while (existe == false && HayCuenta == false) {
cuenta = Integer.parseInt(JOptionPane.showInputDialog("Cual
número de cuenta desea? (entre 100 y 999)"));
if (cuenta >= 100 && cuenta <= 999) {
for (columna = 0; columna < 10; columna++) {
if (cuenta ==
Integer.parseInt(String.valueOf(cuentas[0][columna]))) {
existe = true;
columna = 10;
}
}
if (existe == false) {
cuentas[0][cuantasCuentas] = cuenta;
do {
nombre = JOptionPane.showInputDialog("Ingrese
el nombre del propietario de la cuenta");
} while (nombre.isEmpty());
cuentas[1][cuantasCuentas] = nombre;
do {
saldoInicial =
Double.parseDouble(JOptionPane.showInputDialog("Ingrese el saldo inicial, entre $25
y $10000"));
} while (saldoInicial < 25 || saldoInicial >
10000);
cuentas[2][cuantasCuentas] = saldoInicial;
cuentas[3][cuantasCuentas] = saldoInicial;
cuantasCuentas++;
JOptionPane.showMessageDialog(null, "Cuenta#" +
cuenta + " Asignada con exito");
HayCuenta = true;
existe = true;

} else {
JOptionPane.showMessageDialog(null, "La cuenta ya
existe");
existe = true;
}
} else {
JOptionPane.showMessageDialog(null, "La cuenta no
existe");
}
}
break;
case 2: //DEPOSITAR
existe = false;
cualCuenta =
Integer.parseInt(JOptionPane.showInputDialog("Ingrese su numero de cuenta, entre
100 y 999"));
if (cualCuenta >= 100 && cualCuenta <= 999) {
for (columna = 0; columna < 10; columna++) {
if (cualCuenta ==
Integer.parseInt(String.valueOf(cuentas[0][columna]))) {
existe = true;
donde = columna;
}
}
if (existe == true) {
cuantoDepositar =
Integer.parseInt(JOptionPane.showInputDialog("De cuanto sera su deposito? no debe
sobrepasar su saldo de $10000"));
if (cuantoDepositar > 0 && (cuantoDepositar +
Double.parseDouble(String.valueOf(cuentas[3][donde]))) < 10000) {
cuentas[3][donde] =
Double.parseDouble(String.valueOf(cuentas[3][donde])) + cuantoDepositar;
operaciones[filasRetiros][0] = cualCuenta;
operaciones[filasRetiros][1] = cuantoDepositar;
operaciones[filasRetiros][2] = 0.0;
filasRetiros++;
} else {
JOptionPane.showMessageDialog(null, "Deposito
incorrecto");
}
} else {
JOptionPane.showMessageDialog(null, "La cuenta: " +
cualCuenta + " No existe");
}
} else {
JOptionPane.showMessageDialog(null, "La cuenta no existe");
}
break;
case 3: //RETIRAR
existe = false;
cualCuenta =
Integer.parseInt(JOptionPane.showInputDialog("Ingrese su numero de cuenta, entre
100 y 999"));
if (cualCuenta >= 100 && cualCuenta <= 999) {
for (columna = 0; columna < 10; columna++) {
if (cualCuenta ==
Integer.parseInt(String.valueOf(cuentas[0][columna]))) {
existe = true;
donde = columna;
}
}
if (existe == true) {
cuantoDepositar =
Integer.parseInt(JOptionPane.showInputDialog("De cuanto sera su Retiro? deben
quedar almenos $25"));
if (cuantoDepositar > 0 &&
(Double.parseDouble(String.valueOf(cuentas[3][donde])) - cuantoDepositar) >= 25) {
cuentas[3][donde] =
Double.parseDouble(String.valueOf(cuentas[3][donde])) - cuantoDepositar;
operaciones[filasRetiros][0] = cualCuenta;
operaciones[filasRetiros][1] = 0.0;
operaciones[filasRetiros][2] = cuantoDepositar;
filasRetiros++;
} else {
JOptionPane.showMessageDialog(null, "Retiro
incorrecto");
}
} else {
JOptionPane.showMessageDialog(null, "La cuenta: " +
cualCuenta + " No existe");
}
} else {
JOptionPane.showMessageDialog(null, "La cuenta no existe");
}
break;
case 4:
salida = "";
for (fila = 0; fila < 4; fila++) {
for (columna = 0; columna < 10; columna++) {
salida = salida + cuentas[fila][columna] + "\t";
}
salida = salida + "\n";
}
hoja.setText(salida);
JOptionPane.showMessageDialog(null, hoja);
break;
case 5:
salida = "Cuenta\tDepositos\tRetiros\n";
for (fila = 0; fila < 10; fila++) {
for (columna = 0; columna < 3; columna++) {
salida = salida + operaciones[fila][columna] + "\t";
}
salida = salida + "\n";
}
hoja.setText(salida);

JOptionPane.showMessageDialog(null, hoja);
break;
}
opcion = Integer.parseInt(JOptionPane.showInputDialog("Menú: \n1.
Agregar cuenta\n2. Depositar\n3. Retirar\n4. Ver cuentas\n5. Ver historial de
transacciones\nCualquier otro número pasa salir"));
}

---------
************___________******************________________________________________**
**************
String alumnos[];

double notas[][];
double ponderaciones[];

int posicion, fila, columna, filas, columnas, opcion, respuesta;

String nombre, salida;

JTextArea hoja;

hoja = new JTextArea();

double nota, ponderacionTotal = 1.0, ponderacion, cuanto, sumatoria = 0.0,


promedio;

boolean existe = false;

int dondeEsta = 0, cualNota;

do {

filas = Integer.parseInt(JOptionPane.showInputDialog("¿Cuantos
estudiantes? (entre 1 y 100)"));

} while (filas < 1 || filas > 100);

do {

columnas = Integer.parseInt(JOptionPane.showInputDialog("¿Cuantas
calificaciones por estudiantes? (entre 4 y 10)"));

} while (columnas < 4 || columnas > 10);

respuesta = Integer.parseInt(JOptionPane.showInputDialog("¿Tienen igual


ponderación las " + columnas + " notas? 1.Si, Otro número para No"));

ponderaciones = new double[columnas];

if (respuesta == 1) {

ponderacion = ponderacionTotal / columnas;

for (posicion = 0; posicion < columnas; posicion++) {

ponderaciones[posicion] = ponderacion;

} else {

ponderacion = ponderacionTotal / columnas;

do {

posicion = 0;

sumatoria = 0.0;

while (posicion < ponderaciones.length) {

cuanto =
Double.parseDouble(JOptionPane.showInputDialog("Sugerencia de ponderación: " +
ponderacion + "\n¿Cuanto es la ponderación de la nota #" + (posicion + 1 +
"?\nFaltan " + (columnas - 1 - posicion) + " ponderaciones\n(Ponderaciones válidas
entre 0.05 y 0.35)")));

if (cuanto < 0.05 || cuanto > 0.35) {

JOptionPane.showMessageDialog(null, "Error en la
ponderación");

} else {

ponderaciones[posicion] = cuanto;

sumatoria = sumatoria + ponderaciones[posicion];

posicion++;

if (sumatoria == 1) {

JOptionPane.showMessageDialog(null, "Ponderaciones correctas:"


+ sumatoria);

} else {

JOptionPane.showMessageDialog(null, "Ponderaciones incorrectas,


se repetirá el proceso: " + sumatoria);

} while (sumatoria != 1.0);

alumnos = new String[filas];

notas = new double[filas][columnas];

//captura de nombres
for (posicion = 0; posicion < alumnos.length; posicion++) {

do {

nombre = JOptionPane.showInputDialog("Nombre del estudiante #" +


(posicion + 1));

} while (nombre.isEmpty());

alumnos[posicion] = nombre;

opcion = Integer.parseInt(JOptionPane.showInputDialog("Opciones:\n1.Ver
listado de alumnos\n2.Ingresar notas\n3.Ver calificaciones\n4.Ver
ponderaciones\n5.Modificar nota\nCualquier otro número para salir"));
while (opcion >= 1 && opcion <= 5) {

if (opcion == 1) {//ver listado

salida = "";

for (posicion = 0; posicion < alumnos.length; posicion++) {

salida = salida + (posicion + 1) + ". " + alumnos[posicion] +


"\n";

hoja.setText(salida);

JOptionPane.showMessageDialog(null, hoja);

} else if (opcion == 2) {//ingresar notas

for (fila = 0; fila < filas; fila++) {

for (columna = 0; columna < columnas; columna++) {

nota =
Double.parseDouble(JOptionPane.showInputDialog("Estudiante: " + alumnos[fila] +
"\nNota #" + (columna + 1)));

if (nota < 0 || nota > 10) {

JOptionPane.showMessageDialog(null, "Nota incorrecta,


se asignará cero");

} else {

notas[fila][columna] = nota;

} else if (opcion == 3) {//ver notas por alumno

salida = "Nombre\tNota#1\tNota#2\tNota#3\tNota#4";

if (columnas > 4) {

for (posicion = 5; posicion <= columnas; posicion++) {

salida = salida + "\tNota#" + posicion;

salida = salida + "\tPromedio\n";

} else {
salida = salida + "\tPromedio\n";

for (fila = 0; fila < filas; fila++) {

salida = salida + alumnos[fila];

promedio = 0.0;

for (columna = 0; columna < columnas; columna++) {

salida = salida + "\t" + notas[fila][columna];

promedio = promedio + (notas[fila][columna] *


ponderaciones[columna]);

salida = salida + "\t" + promedio + "\n";

hoja.setText(salida);

JOptionPane.showMessageDialog(null, hoja);

} else if (opcion == 4) { //ver ponderaciones

salida = "";

salida = "Ponderaciones:\n";

for (posicion = 0; posicion < ponderaciones.length; posicion++) {

salida = salida + "Ponderación #" + (posicion + 1) + ": " +


ponderaciones[posicion] + "\n";

hoja.setText(salida);

JOptionPane.showMessageDialog(null, hoja);

} else if (opcion == 5) {//modificar nota

existe = false;

nombre = JOptionPane.showInputDialog("Nombre del estudiante");

for (posicion = 0; posicion < alumnos.length; posicion++) {

if (nombre.equals(alumnos[posicion])) {

existe = true;

dondeEsta = posicion;

}
}

if (existe == false) {

JOptionPane.showMessageDialog(null, "El alumno " + nombre + "


no se encontro");

} else {

salida = "Alumno: " + nombre + "\nNotas:\n";

for (columna = 0; columna < columnas; columna++) {

salida = salida + notas[dondeEsta][columna] + ", ";

cualNota = Integer.parseInt(JOptionPane.showInputDialog(salida
+ "\n¿Cual número de nota desea cambiar?"));

if (cualNota >= 1 && cualNota <= columnas) {

nota =
Double.parseDouble(JOptionPane.showInputDialog("¿Cual es la nueva calificación?"));

if (nota >= notas[dondeEsta][(cualNota - 1)] && nota <= 10)


{

notas[dondeEsta][(cualNota - 1)] = nota;

JOptionPane.showMessageDialog(null, "Nota modificada


con éxito");

} else {

JOptionPane.showMessageDialog(null, "La nota no pudo


ser modificada");

} else {

JOptionPane.showMessageDialog(null, "La nota #" + cualNota


+ " no existe");

opcion = Integer.parseInt(JOptionPane.showInputDialog("Opciones:\n1.Ver
listado de alumnos\n2.Ingresar notas\n3.Ver calificaciones\n4.Ver
ponderaciones\n5.Modificar nota\nCualquier otro número para salir"));

S-ar putea să vă placă și