Está en la página 1de 9

import java.util.

Scanner;
public class Boletin_3 {

static Scanner entrada = new Scanner (System.in);


static String estudiantes[] [];
static String notas[] [];
static int cantidadEstudiantes;
static int cantidadNotas;
public static void main(String[] args) {
// TODO code application logic here
entrada = new Scanner (System.in);

estudiantes = new String[100][6]; // 100 filas y 6 columnas


notas = new String[100][4]; // 100 filas y 4 columnas
cantidadEstudiantes = 0;
cantidadNotas = 0;
char opcion;
cargarDatos();
do {
System.out.print("... MENU PRINCIPAL ..."
+ "\n"
+ "\n (1). Gestionar estudiantes."
+ "\n (2). Gestionar notas."
+ "\n (3). Reportes."
+ "\n (0). Salir."
+ "\n"
+ "\n Escoja una opcion: ");
opcion = entrada.next().charAt(0);
switch (opcion){
case '1': gestionarEstudiantes(); break;
case '2': gestionarNotas(); break;
// case '3': reportes(); break;
case '0': break;
default: System.out.println("Opcion incorrecta...");
}
}while(opcion!='0');
}
private static void gestionarEstudiantes(){
char opcion;
do{
System.out.print(" .. MENU ESTUDIANTES .. "
+ "\n"
+ "\n (1). Adicionar estudiantes."
+ "\n (2). Consultar estudiante."
+ "\n (3). Modificar estudiante."
+ "\n (4). Eliminar estudiante."
+ "\n (5). Listar estudiantes."
+ "\n (0). Salir."
+ "\n"
+ "\n Escoja una opcion: ");
opcion = entrada.next().charAt(0);
switch (opcion){
case '1': adicionarEstudiantes(); break;
case '2': consultarEstudiantes(); break;
case '3': modificarEstudiantes(); break;
case '4': eliminarEstudiantes(); break;
case '5': listarEstudiantes(); break;
case '0': break;
default: System.out.println("Opcion incorrecta...");
}
}while(opcion!='0');
}
private static void adicionarEstudiantes(){
System.out.print(" . ADICIONAR ESTUDIANTE . "
+ "\n"
+ "\n Numero de identificacion: ");
estudiantes[cantidadEstudiantes][0] = entrada.next();
System.out.print("Nombres: ");
estudiantes[cantidadEstudiantes][1] = entrada.nextLine();
estudiantes[cantidadEstudiantes][1] = entrada.nextLine();
System.out.print("Apellidos: ");
estudiantes[cantidadEstudiantes][2] = entrada.nextLine();
System.out.print("Fecha de nacimiento (aaaa/mm/dd): ");
estudiantes[cantidadEstudiantes][3] = entrada.next();
System.out.print("Correo electronico: ");
estudiantes[cantidadEstudiantes][4] = entrada.next();
System.out.print("Telefono: ");
estudiantes[cantidadEstudiantes][5] = entrada.next();
cantidadEstudiantes++;
}
private static void consultarEstudiantes(){
String buscarEstudiantes;
System.out.print(" . CONSULTA ESTUDIANTE . "
+ "\n"
+ "\n Numero de identificacion: ");
String numeroIdentificacion = entrada.next();
int indice = buscarEstudiantes(numeroIdentificacion);
if (indice==1){
System.out.println("Estudiante no encontrado...");
}else mostrarEstudiantes(indice);
}
private static void modificarEstudiantes(){
String texto;
System.out.println(" . MODIFICAR ESTUDIANTES . ");
System.out.print("Ingrese el numero de identificacion del estudiante: ");
String identificacion=entrada.next();
int indice = buscarEstudiantes(identificacion);
if (indice==-1){
System.out.println("El numero de identificacion no existe...");
}else{
System.out.println("Identificacion: ("+estudiantes[indice][0]+")");
// texto = datos.nextLine();
texto = entrada.nextLine();
if(!texto.equals(""))estudiantes[indice][0]=texto;

System.out.println("Nombres: ("+estudiantes[indice][1]+")");
texto = entrada.nextLine();
if(!texto.equals(""))estudiantes[indice][1]=texto;

System.out.println("Apellidos: ("+estudiantes[indice][2]+")");
texto = entrada.nextLine();
if(!texto.equals(""))estudiantes[indice][2]=texto;

System.out.println("Fecha de nacimiento: ("+estudiantes[indice]


[3]+")");
texto = entrada.nextLine();
if(!texto.equals(""))estudiantes[indice][3]=texto;
System.out.println("Email: ("+estudiantes[indice][4]+")");
texto = entrada.nextLine();
if(!texto.equals(""))estudiantes[indice][4]=texto;

System.out.println("Telefono: ("+estudiantes[indice][5]+")");
texto = entrada.nextLine();
if(!texto.equals(""))estudiantes[indice][5]=texto;
}
}
private static void listarEstudiantes(){
String formato = "%-16s%-16s%-16s%-20s%-20s%-16s%n";
System.out.printf(formato,"Identificacion","Nombres","Apellidos","Fecha "
+ "de nacimiento","Email","Telefono");
for(int i=0; i<cantidadEstudiantes; i++){
System.out.printf(formato,estudiantes[i][0],estudiantes[i]
[1],estudiantes[i][2],estudiantes[i][3],estudiantes[i][4],estudiantes[i][5]);
}
}
private static void eliminarEstudiantes(){
System.out.print(" . ELIMINAR ESTUDIANTE . "
+ "\n Numero de identificacion: ");
String numeroIdentificacion = entrada.next();
int indice=buscarEstudiantes(numeroIdentificacion);
if(indice==-1){
System.out.println("Estudiante no encontrado...");
}else{
mostrarEstudiantes(indice);
System.out.println("Realmente desea eliminar al estudiante? [S] o
[N]");
char opcion = entrada.next().charAt(0);
if(opcion=='s' || opcion=='S'){
for (int i=indice; i<cantidadEstudiantes; i++){
estudiantes[i]=estudiantes[i+1];
}
System.out.println("Eliminado con exito");
cantidadEstudiantes--;
}
}
}
private static int buscarEstudiantes(String Identificacion) {
int indice = -1;
int contador = 0;
while(indice==-1 && contador<cantidadEstudiantes){
if(Identificacion.equals(estudiantes[contador][0])){
indice=contador;
}
contador++;
}
return indice;
}
private static void mostrarEstudiantes(int indice) {
System.out.println("Nombres: "+estudiantes[indice][1]);
System.out.println("Apellidos: "+estudiantes[indice][2]);
System.out.println("Fecha de nacimiento: "+estudiantes[indice][3]);
System.out.println("Email: "+estudiantes[indice][4]);
System.out.println("Telefono: "+estudiantes[indice][5]);
}
private static void cargarDatos(){
cantidadEstudiantes = 5;
estudiantes[0][0]="87000001";
estudiantes[0][1]="Carlos";
estudiantes[0][2]="Mu�oz";
estudiantes[0][3]="2001-03-27";
estudiantes[0][4]="carlos@gmail.com";
estudiantes[0][5]="7500001";

estudiantes[1][0]="87000002";
estudiantes[1][1]="Constanza";
estudiantes[1][2]="Pantoja";
estudiantes[1][3]="1999-01-02";
estudiantes[1][4]="constana@gmail.com";
estudiantes[1][5]="7500002";

estudiantes[2][0]="87000003";
estudiantes[2][1]="Pato";
estudiantes[2][2]="Lucas";
estudiantes[2][3]="1999-01-03";
estudiantes[2][4]="pato@gmail.com";
estudiantes[2][5]="7500003";

estudiantes[3][0]="87000004";
estudiantes[3][1]="Fulanito";
estudiantes[3][2]="Detal";
estudiantes[3][3]="1999-01-04";
estudiantes[3][4]="fulano@gmail.com";
estudiantes[3][5]="7500004";

estudiantes[4][0]="87000005";
estudiantes[4][1]="Sandy";
estudiantes[4][2]="Papo";
estudiantes[4][3]="1999-01-05";
estudiantes[4][4]="sandypapo@gmail.com";
estudiantes[4][5]="7500005";

// precargar Notas a la matriz notas[] []

cantidadNotas=3;

notas[0][0]="87000001";
notas[0][1]="5";
notas[0][2]="5";
notas[0][3]="5";

notas[1][0]="87000002";
notas[1][1]="4";
notas[1][2]="4";
notas[1][3]="4";

notas[2][0]="87000003";
notas[2][1]="3";
notas[2][2]="3";
notas[2][3]="3";

notas[3][0]="87000004";
notas[3][1]="2";
notas[3][2]="2";
notas[3][3]="2";
notas[4][0]="87000005";
notas[4][1]="1";
notas[4][2]="1";
notas[4][3]="1";
}
private static void gestionarNotas(){
char opcion;
do{
System.out.print(" ..MENU GESTION DE NOTAS.. "
+ "\n"
+ "\n (1). Adicionar notas."
+ "\n (2). Buscar notas."
+ "\n (3). Modificar notas."
+ "\n (4). Eliminar notas."
+ "\n (5). Listar notas."
+ "\n (0). Salir."
+ "\n"
+ "\n Escoja una opcion: ");
opcion = entrada.next().charAt(0);
switch(opcion){
case '1': adicionarNotasEstudiantes(); break;
case '2': buscarNotasEstudiantes(); break;
case '3': modificarNotasEstudiantes(); break;
case '4': eliminarNotasEstudiantes(); break;
case '5': listarNotasEstudiantes(); break;
case '0': break;
default: System.out.println("Opcion incorrecta...");
}
}while(opcion != '0');
}
private static void adicionarNotasEstudiantes(){
//int indice = -1;
//int contador = 0;
String texto;
System.out.println("ADICIONAR NOTAS");
System.out.print("Numero de identificacion: ");
String identificacion=entrada.next();
int indice = buscarEstudiantes(identificacion);
if (indice==-1){
System.out.println("El numero de identificacion no existe...");
}else{

System.out.println("Nombres: ("+estudiantes[indice][1]+")");
System.out.println("Apellidos: ("+estudiantes[indice][2]+")");

System.out.println("Nota 1: ("+notas[indice][1]+")");
texto = entrada.nextLine();
texto = entrada.nextLine();
if(!texto.equals(""))notas[indice][1]=texto;

System.out.println("Nota 2: ("+notas[indice][2]+")");
texto = entrada.nextLine();
if(!texto.equals(""))notas[indice][2]=texto;

System.out.println("Nota 3: ("+notas[indice][3]+")");
texto = entrada.nextLine();
if(!texto.equals(""))notas[indice][3]=texto;

}
}
private static void buscarEstudiantesDos(int indice){
System.out.println("Nombres: "+estudiantes[indice][1]);
System.out.println("Apellidos: "+estudiantes[indice][2]);
}
private static int buscarNotasEstudiantes(){
int indice = -1;
int contador = 0;
System.out.println(" . BUSCAR NOTAS ESTUDIANTES . ");
System.out.print("Ingrese numero de identificacion: ");
String Identificacion = entrada.next();
while(indice==-1 && contador<cantidadNotas){
if(Identificacion.equals(notas[contador][0])){
indice = contador;
System.out.println("Nombres: "+estudiantes[indice][1]);
System.out.println("Apellidos: "+estudiantes[indice][2]);
System.out.println("");
System.out.println("Nota 1:"+notas[indice][1]);
System.out.println("Nota 2:"+notas[indice][2]);
System.out.println("Nota 3:"+notas[indice][3]);
int posicion=buscarEstudiantes(notas[indice][0]);
double definitiva=calcularDefinitiva(notas[indice]);
System.out.println("Definitiva: "+definitiva);
}
contador++;
}
return indice;
}
private static void modificarNotasEstudiantes(){
String texto, nuevaNota;
int indice = -1;
int contador = 0;
System.out.println("..MODIFICAR NOTAS..");
System.out.print("Ingrese numero de identificacion: ");
String Identificacion = entrada.next();
while(indice==-1 && contador<cantidadNotas){
if(Identificacion.equals(notas[contador][0])){
indice = contador;
System.out.println("Nombres: "+estudiantes[indice][1]);
System.out.println("Apellidos: "+estudiantes[indice][2]);
System.out.println("Identificacion: ("+estudiantes[indice][0]+")");
texto=entrada.nextLine();
if(!texto.equals(" "))estudiantes[indice][0]=texto;

System.out.println("Nota 1: ("+notas[0][1]+")");
nuevaNota=entrada.next();
if(!nuevaNota.equals(" ")) notas[0][1]=nuevaNota;

System.out.println("Nota 2: ("+notas[0][2]+")");
nuevaNota=entrada.next();
if(!nuevaNota.equals(" ")) notas[0][2]=nuevaNota;

System.out.println("Nota 3: ("+notas[0][3]+")");
nuevaNota=entrada.next();
if(!nuevaNota.equals(" ")) notas[0][3]=nuevaNota;
}
}
}
private static void eliminarNotasEstudiantes(){
String texto;
int indice = -1;
int contador = 0;
System.out.println("..ELIMINAR NOTAS..");
System.out.print("Ingrese numero de identificacion: ");
String Identificacion = entrada.next();
while(indice==-1 && contador<cantidadNotas){
if(Identificacion.equals(notas[contador][0])){
indice = contador;
System.out.println("Nombres: "+estudiantes[indice][1]);
System.out.println("Apellidos: "+estudiantes[indice][2]);
System.out.println("Identificacion: ("+estudiantes[indice][0]+")");
if(indice==-1){
System.out.println("Estudiante no registrado... ");
}else{
mostrarNotas(indice);
double definitiva=calcularDefinitiva(notas[indice]);
System.out.println("Definitiva: "+definitiva);
System.out.println("Real mente desea eliminar la nota? [S] [N]");
char opcion= entrada.next().charAt(0);
if(opcion=='s' || opcion =='S'){
for(int i=indice; i<cantidadNotas; i++){
notas[i]=notas[i+1];
}
System.out.println("Eliminacion con exito");
cantidadNotas--;
}
}
}
}
}
private static void mostrarNotas(int indice){
System.out.println("Nota 1: "+notas[indice][1]);
System.out.println("Nota 2: "+notas[indice][2]);
System.out.println("Nota 3: "+notas[indice][3]);
double definitiva=calcularDefinitiva(notas[indice]);
System.out.println("Definitiva: "+definitiva);
}
private static void listarNotasEstudiantes(){
double suma=0;
System.out.print("Identificacion"
+ "\t Nombres"
+ "\t Apellidos"
+ "\t nota 1"
+ "\t nota 2"
+ "\t nota 3"
+ "\t Definitiva"
+ "\n");
for(int i=0;i<cantidadNotas; i++){
int posicion=buscarEstudiantes(notas[i][0]);
System.out.print(estudiantes[posicion][0]+ "\t");
System.out.print(estudiantes[posicion][1]+ "\t");
System.out.print(estudiantes[posicion][2]+ "\t\t");
System.out.print(estudiantes[posicion][3]+ "\t");
System.out.print(estudiantes[posicion][4]+ "\t");
System.out.print(estudiantes[posicion][5]+ "\t");

System.out.print(notas[i][1]+"\t");
System.out.print(notas[i][2]+"\t");
System.out.print(notas[i][3]+"\t");

double definitiva=calcularDefinitiva(notas[i]);
suma+=definitiva;
System.out.println(definitiva);
}
double promedio=suma/cantidadNotas;
System.out.println("Promedio del curso: "+promedio+"\n");
}
private static double calcularDefinitiva(String[] nota){
double n1=Double.parseDouble(nota[1]);
double n2=Double.parseDouble(nota[2]);
double n3=Double.parseDouble(nota[3]);
return n1*0.3 + n2*0.3 + n3*0.4;
}
private static void reporteMejoresNotas(){
//Mayor a menor
ordenarMatriz("Desendente");
listarNotasEstudiantes();
}
private static void reportePeoresNotas(){
//Menor a mayor
ordenarMatriz("ascendentes");
listarNotasEstudiantes();
}
private static void ordenarMatriz(String criterio){
for(int i=0; i<cantidadNotas-1; i++){
for(int j=i+1; j<cantidadNotas-1; j++){
double definitivaUno=calcularDefinitiva(notas[i]);
double definitivaDos=calcularDefinitiva(notas[j]);
boolean intercambiar=false;

if(criterio.equals("desendente")){
if(definitivaUno<definitivaDos) intercambiar=true;
}else{
if(definitivaUno>definitivaDos) intercambiar=true;
}
if(intercambiar){
String[] auxiliar=notas[i];
notas[i]=notas[j];
notas[j]=auxiliar;
}
}
}
}
private static void reportes(){
char opcion;
do{
System.out.println("MENU DE REPORTES"
+ "\n 1 Lista de estudiantes con mejor nota"
+ "\n 2 Lista de estudiantes con menor nota"
+ "\n 3 Bolet�n de notas"
+ "\n 4 Lista de estudiantes aprobados"
+ "\n 5 Lista de estudiantes reprobados"
+ "\n 0 Retornar al men� principal"
+ "\n");
opcion=entrada.next().charAt(0);
switch(opcion){
case '1': //listarEstudiantesMejorNota(); break;
case '2': //listarEstudiantesMenorNota(); break;
case '3': //boletinNotas(); break;
case '4': //listaEstudiantesAprobados(); break;
case '5': //listaEstudiantesReprovados(); break;
case '0': break;
default: System.out.println("Opcion incorrecta... ");
}
}while(opcion!=0);
}
}

También podría gustarte