Sunteți pe pagina 1din 4

Object registro[][];

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


String nombre, salida;
JTextArea hoja;
hoja = new JTextArea();
double nota,promedio=0;

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
administrar�? (entre 4 y 10)"));
} while (columnas < 4 || columnas > 10);

columnas = columnas + 1;
registro = new Object[filas][columnas];

//ingreso de nombres
for (posicion = 0; posicion < filas; posicion++) {
nombre = JOptionPane.showInputDialog("Nombre del alumno #" + (posicion + 1));
if (nombre.isEmpty()) {
registro[posicion][0] = "SIN NOMBRE";
} else {
registro[posicion][0] = nombre;
}
}

opcion = Integer.parseInt(JOptionPane.showInputDialog("Opciones:\n1.Ver listado de


alumnos\n2.Registrar notas por alumno\n3.Registrar notas por per�odo\n4.Ver cuadro
de notas\nCualquier otro n�mero para salir"));
while (opcion >= 1 && opcion <= 4) {
if (opcion == 1) {//ver listado de alumnos
salida = "";
for (posicion = 0; posicion < filas; posicion++) {
salida = salida + registro[posicion][0] + "\n";
}
hoja.setText(salida);
JOptionPane.showMessageDialog(null, hoja);
} else if (opcion == 2) {//registrar calificaciones por alumno
for (fila = 0; fila < filas; fila++) {
for (columna = 1; columna < columnas; columna++) {
nota = Double.parseDouble(JOptionPane.showInputDialog("Alumno: " + registro[fila]
[0] + "\nNota #" + columna));
if (nota < 0 || nota > 10) {
registro[fila][columna] = 0.0;
JOptionPane.showMessageDialog(null, "Calificaci�n no v�lida, se asign� cero
(0.0)");
} else {
registro[fila][columna] = nota;
}

}
}
} else if (opcion == 3) {//registrar notas por per�odo
for (columna = 1; columna < columnas; columna++) {
for (fila = 0; fila < filas; fila++) {
nota = Double.parseDouble(JOptionPane.showInputDialog("Per�odo #" + columna +
"\nNota del alumno " + registro[fila][0]));
if (nota < 0 || nota > 10) {
registro[fila][columna] = 0.0;
JOptionPane.showMessageDialog(null, "Calificaci�n no v�lida, se asign� cero
(0.0)");
} else {
registro[fila][columna] = nota;
}

}
}

} else if (opcion == 4) {//ver cuadro de notas


salida = "Nombre\tCalificaciones\n";
for (fila = 0; fila < filas; fila++) {
promedio=0.0;
for (columna = 0; columna < columnas; columna++) {
if (columna!=0){
promedio=promedio+Double.parseDouble(String.valueOf(registro[fila][columna]));
}
salida = salida + registro[fila][columna] + "\t";
}
promedio=promedio/(columnas-1);
salida = salida + "Promedio: "+promedio + "\n";
}
hoja.setText(salida);
JOptionPane.showMessageDialog(null, hoja);
}

opcion = Integer.parseInt(JOptionPane.showInputDialog("Opciones:\n1.Ver listado de


alumnos\n2.Registrar notas por alumno\n3.Registrar notas por per�odo\n4.Ver cuadro
de notas\nCualquier otro n�mero para salir"));
}

Object registro[][];
int filas, columnas, posicion, opcion, fila, columna;
String nombre, salida;
JTextArea hoja;
hoja = new JTextArea();
double nota, promedio = 0;

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 administrar�? (entre 4 y 10)"));
} while (columnas < 4 || columnas > 10);

columnas = columnas + 1;
registro = new Object[filas][columnas];

//ingreso de nombres
for (posicion = 0; posicion < filas; posicion++) {
nombre = JOptionPane.showInputDialog("Nombre del alumno #" + (posicion
+ 1));
if (nombre.isEmpty()) {
registro[posicion][0] = "SIN NOMBRE";
} else {
registro[posicion][0] = nombre;
}
}

opcion = Integer.parseInt(JOptionPane.showInputDialog("Opciones:\n1.Ver
listado de alumnos\n2.Registrar notas por alumno\n3.Registrar notas por
per�odo\n4.Ver cuadro de notas\nCualquier otro n�mero para salir"));
while (opcion >= 1 && opcion <= 4) {
if (opcion == 1) {//ver listado de alumnos
salida = "";
for (posicion = 0; posicion < filas; posicion++) {
salida = salida + registro[posicion][0] + "\n";
}
hoja.setText(salida);
JOptionPane.showMessageDialog(null, hoja);
} else if (opcion == 2) {//registrar calificaciones por alumno
for (fila = 0; fila < filas; fila++) {
for (columna = 1; columna < columnas; columna++) {
if (registro[fila][0].equals("SIN NOMBRE")) {
nota =
Double.parseDouble(JOptionPane.showInputDialog("Alumno: " + registro[fila][0] +
"\nNota #" + columna));
if (nota < 0 || nota > 10) {
registro[fila][columna] = 0.0;
JOptionPane.showMessageDialog(null, "Calificaci�n
no v�lida, se asign� cero (0.0)");
} else {
registro[fila][columna] = nota;
}
}

}
}
} else if (opcion == 3) {//registrar notas por per�odo
for (columna = 1; columna < columnas; columna++) {
for (fila = 0; fila < filas; fila++) {
if (registro[fila][0].equals("SIN NOMBRE")) {
nota =
Double.parseDouble(JOptionPane.showInputDialog("Per�odo #" + columna + "\nNota del
alumno " + registro[fila][0]));
if (nota < 0 || nota > 10) {
registro[fila][columna] = 0.0;
JOptionPane.showMessageDialog(null, "Calificaci�n
no v�lida, se asign� cero (0.0)");
} else {
registro[fila][columna] = nota;
}
}

}
}

} else if (opcion == 4) {//ver cuadro de notas


salida = "Nombre\tCalificaciones\n";
for (fila = 0; fila < filas; fila++) {
promedio = 0.0;
for (columna = 0; columna < columnas; columna++) {
if (columna != 0) {
promedio = promedio +
Double.parseDouble(String.valueOf(registro[fila][columna]));
}
salida = salida + registro[fila][columna] + "\t";
}
promedio = promedio / (columnas - 1);
salida = salida + "Promedio: " + promedio + "\n";
}
hoja.setText(salida);
JOptionPane.showMessageDialog(null, hoja);
}

opcion = Integer.parseInt(JOptionPane.showInputDialog("Opciones:\n1.Ver
listado de alumnos\n2.Registrar notas por alumno\n3.Registrar notas por
per�odo\n4.Ver cuadro de notas\nCualquier otro n�mero para salir"));
}

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