elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  REGRESAR A MENU ANTERIOR CASE EN JAVA
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: REGRESAR A MENU ANTERIOR CASE EN JAVA  (Leído 40,703 veces)
ArmandoQuintero

Desconectado Desconectado

Mensajes: 1


Ver Perfil
REGRESAR A MENU ANTERIOR CASE EN JAVA
« en: 6 Abril 2012, 08:59 am »

Buen dia... amigos

Tengo una duda, y creo q alguno si no es que muchos tendran una idea sobre como resolver mi duda... y de antemano gracias.

Estoy haciendo un proyecto de vacaciones que me han dejado en el Tecnologico, el problema que se me ha presentado en mi programa, es que al entrar a una opcion me manda al submenu y al regresar, regresa bien, pero al momento de entrar a el submenu de el menu 2, lo hace bien, al momento de regresar al menu 2 regresa bien, pero al querer regresar de el menu 2 al menu 1, ya no puedo y solo me quedo estancado en el menu 2....
No se si hayan entendido mi problema.

de igual forma aqui les dejo el codigo

Código:
import java.io.*;
import java.util.*;


public class proba
{

public static void main (String[]args)throws IOException
{



BufferedReader leer=new BufferedReader (new InputStreamReader (System.in));
Scanner input=new Scanner(System.in);
int menu0001=0,menu0002=0;
int menuprincipal=0;
int regresamenuprincipal=0;
int regresamenu0001=0;



int control [];
control = new int [5];     
        String []alumno=new String [5];
        String []carrera=new String [5];
        int x;



do{
if (regresamenuprincipal==0);

       

System.out.println ("[1] ALTAS");
System.out.println ("[2] BAJAS");
System.out.println ("[3] CAMBIOS");
System.out.println ("[4] SALIR");


do{


System.out.print ("INTRODUZCA EL N° DE LA OPCION: ");
menuprincipal = Integer.parseInt(leer.readLine());


if ((menuprincipal>4)||(menuprincipal<1))
{
System.out.println ("NO EXISTE LA OPCION SELECCIONADA");
}

}while ((menuprincipal>4)||(menuprincipal<1));


System.out.println ("");


//INICIA MENU PRINCIPAL
switch (menuprincipal)
{

case 1:
   //INICIA MENU DE ALTAS
   do{
if(regresamenu0001==1)
System.out.println ("°°°°°°°°°°°°°°°°°");
System.out.println ("ENTRO A ALTAS");
System.out.println ("");

System.out.println ("------------------");
System.out.println ("[1] ALUMNOS");
System.out.println ("[2] CALIFICACIONES");
System.out.println ("[3] ACTIVIDAD");
System.out.println ("[4] REGRESAR");
System.out.println ("°°°°°°°°°°°°°°°°°");


System.out.print ("INTRODUZCA EL N° DE LA OPCION: ");
        menu0001 = Integer.parseInt(leer.readLine());


switch (menu0001)
{
case 1:
int seleccion=0;
System.out.println("[1] AGREGAR ALUMNOS");
System.out.println("[0] REGRESAR");
System.out.println("");
System.out.print ("INTRODUZCA EL N° DE LA OPCION: ");
                seleccion = Integer.parseInt(leer.readLine());
                //INICIA SWITCH CREADO PARA AGREGAR ALUMNOS O REGRESAR
               
                switch (seleccion)
                {
                //INICIA CASE PARA EL PRIMER ALUMNO
                  case 1:
                  if ((control[0]>0)&&(control[1]>0)&&(control[2]>0)&&(control[3]>0)&&(control[4]>0))
                  {
                  int sitodolleno=0;
                  System.out.println("///////////////////////////////////////////");
                  System.out.println("LO SENTIMOS PERO TODOS LOS CAMPOS ESTAN OCUPADOS");
                  System.out.println("///////////////////////////////////////////");
                  System.out.print ("Introduce [0] para regresar: ");
                            sitodolleno = Integer.parseInt(leer.readLine());
                           
                            switch (sitodolleno)
                            {
                            case 0:
                                regresamenu0001=1;
                                break;
                            }
                            break;
                  }
                 
                 
                 
                                                     
                  if (control[0]>0)
{
System.out.println("//////////////////////////////////");
System.out.println("La PRIMER casilla esta llena.");
System.out.println("¿desea mirar mas adelante?");
System.out.println("//////////////////////////////////");
}else
{
for (x=0; x<1; x++)
  {
  System.out.print ("Ingrese el alumno "+(x+1)+": ");
  alumno[x]= leer.readLine();
  System.out.print ("Ingrese la carrera que cursa: ");
carrera [x] = leer.readLine();
System.out.print ("Ingrese su N° de Control: ");
control [x] = Integer.parseInt(leer.readLine());
  }
}
//FINALIZA CASE DE EL PRIMER ALUMNO

//INICIA SEGUNDO ALUMNO
int segundoalumno=0;
  System.out.println("[1] SI");
  System.out.println("[0] NO");
  System.out.println("Desea introducir otro alumno?: ");
  segundoalumno=Integer.parseInt(leer.readLine());
 
  switch (segundoalumno)
  {
  case 1:
 
if (control[1]>0)
{
System.out.println("//////////////////////////////////");
System.out.println("La SEGUNDA casilla esta llena.");
System.out.println("¿desea mirar mas adelante?");
System.out.println("//////////////////////////////////");
}else
{
for (x=1; x<2; x++)
  {
  System.out.print ("Ingrese el alumno "+(x+1)+": ");
  alumno[x]= leer.readLine();
  System.out.print ("Ingrese la carrera que cursa: ");
carrera [x] = leer.readLine();
System.out.print ("Ingrese su N° de Control: ");
control [x] = Integer.parseInt(leer.readLine());
  }
}
//FINALIZA SEGUNDO ALUMNO
 
//INICIA TERCER ALUMNO
  int terceralumno=0;
  System.out.println("[1] SI");
  System.out.println("[0] NO");
  System.out.println("Desea introducir otro alumno?: ");
  terceralumno=Integer.parseInt(leer.readLine());
 
  switch (terceralumno)
  {
  case 1:
 
  if (control[2]>0)
{
System.out.println("//////////////////////////////////");
System.out.println("La TERCERA casilla esta llena.");
System.out.println("¿desea mirar mas adelante?");
System.out.println("//////////////////////////////////");
}else
{
for (x=2; x<3; x++)
  {
  System.out.print ("Ingrese el alumno "+(x+1)+": ");
  alumno[x]= leer.readLine();
  System.out.print ("Ingrese la carrera que cursa: ");
carrera [x] = leer.readLine();
System.out.print ("Ingrese su N° de Control: ");
control [x] = Integer.parseInt(leer.readLine());
  }
}
//FINALIZA TERCER ALUMNO

//INICIA CUARTO ALUMNO

int cuartoalumno=0;
  System.out.println("[1] SI");
  System.out.println("[0] NO");
  System.out.println("Desea introducir otro alumno?: ");
  cuartoalumno=Integer.parseInt(leer.readLine());

  switch (cuartoalumno)
  {
  case 1:
 
  if (control[3]>0)
{
System.out.println("//////////////////////////////////");
System.out.println("La CUARTA casilla esta llena.");
System.out.println("¿desea mirar mas adelante?");
System.out.println("//////////////////////////////////");
}else
{
for (x=3; x<4; x++)
  {
  System.out.print ("Ingrese el alumno "+(x+1)+": ");
  alumno[x]= leer.readLine();
  System.out.print ("Ingrese la carrera que cursa: ");
carrera [x] = leer.readLine();
System.out.print ("Ingrese su N° de Control: ");
control [x] = Integer.parseInt(leer.readLine());
  }
}
//FINALIZA CUARTO ALUMNO

//INICIA QUINTO ALUMNO
int quintoalumno=0;
  System.out.println("[1] SI");
  System.out.println("[0] NO");
  System.out.println("Desea introducir otro alumno?: ");
  quintoalumno=Integer.parseInt(leer.readLine());
 
  switch (quintoalumno)
  {
  case 1:
 
  if (control[4]>0)
{
System.out.println("//////////////////////////////////");
System.out.println("La QUINTA casilla esta llena.");
System.out.println("¿desea mirar mas adelante?");
System.out.println("//////////////////////////////////");
}else
{
for (x=4; x<5; x++)
  {
  System.out.print ("Ingrese el alumno "+(x+1)+": ");
  alumno[x]= leer.readLine();
  System.out.print ("Ingrese la carrera que cursa: ");
carrera [x] = leer.readLine();
System.out.print ("Ingrese su N° de Control: ");
control [x] = Integer.parseInt(leer.readLine());
  }
}
//FINALIZA EL QUINTO ALUMNO

//INICIALIZA CUANDO TODO ESTA LLENO
int termino=0;
  System.out.println("///////////////////////////////////////////");
  System.out.println("¡TODO HA SIDO REGISTRADO EXITOSAMENTE!");
  System.out.println("///////////////////////////////////////////");
  System.out.println("[0] REGRESAR");
  System.out.println("INTRODUZCA LA OPCION CORRECTA: ");
  termino=Integer.parseInt(leer.readLine());
 
  switch (termino)
  {
  case 0:
      regresamenu0001=1;
      break;
  }
  //TERMINA  CUANDO TODO ESTA LLENO
 
 
  case 0:
  regresamenu0001=1;
  break;
  }
 
 
 
  case 0:
  regresamenu0001=1;
  break;
  }
     
      case 0:
      regresamenu0001=1;
      break;
  }
 
 
  case 0:
  regresamenu0001=1;
  break;
  }
                break;
                //INICIA CASE PARA REGRESAR
                case 0:
                regresamenu0001=1;
                break;
                //FINALIZA CASE PARA REGRESAR
                }
               
                //FINALIZA SWITCH CREADO PARA AGREGAR ALUMNOS O REGRESAR

    break;

   
    case 2:
    System.out.println("/////////////////////////");
System.out.println("ENTRO A OPCION CALIFICACIONES");
System.out.println("/////////////////////////");
String  st04=input.next();
    break;
   
    case 3:
    System.out.println("/////////////////////////");
System.out.println("ENTRO A OPCION ACTIVIDAD");
System.out.println("/////////////////////////");
String  st03=input.next();
    break;
   
    case 4:
    regresamenuprincipal=0;
    break;
}

}while (regresamenu0001==1);
//TERMINA MENU DE ALTAS

    break;
   
   
   
    case 2:
System.out.println("/////////////////////////");
System.out.println("ENTRO A OPCION BAJAS");
System.out.println("/////////////////////////");
String  st02=input.next();
    break;
   
    case 3:
System.out.println("/////////////////////////");
System.out.println("ENTRO A OPCION CAMBIOS");
System.out.println("/////////////////////////");
String  st01=input.next();
    break;
   
    case 4:
System.out.println("FIN DE EL PROGRAMA...");
String  st00=input.next();
    break;

}

//TERMINA MENU PRINCIPAL



}while (regresamenuprincipal==0);
}
}


En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: REGRESAR A MENU ANTERIOR CASE EN JAVA
« Respuesta #1 en: 6 Abril 2012, 17:48 pm »

Ordena mejor tus codigos, asi entenderas mejor que has escrito, tambien cuando pongas un codigo aca, ponele code=java a las etiquetas para que se vea coloreado el codigo y se entienda mejor..

Yo haria todo desde 0, planteandote todo en un papel con lapicera porque haces verificaciones de mas y tus do-while estan mal.


Tienes que hacer algo asi:

Código
  1. Do {
  2. BorrarPantalla;
  3. opc = 0;
  4.  
  5. --- Poner el Menu -- Con opcion 3- Salir
  6. opc = Leer.readline()
  7.  
  8. switch (opc)
  9. {
  10.  
  11. case 1:
  12.   Do {
  13.        BorrarPantalla;
  14.        opc2 = 0;
  15.  
  16.         --- Mostrar SubMenu1 --- con opcion 2- Salir
  17.  
  18.       } while(opc2 != 2)
  19.     break;
  20.  
  21. case 2:
  22.   Do {
  23.        BorrarPantalla;
  24.        opc3 = 0;
  25.  
  26.         --- Mostrar SubMenu1 --- con opcion 2- Salir
  27.  
  28.       } while(opc3 != 2)
  29.     break;
  30.    }
  31.  
  32. } while (opc != 3) // si no ingreso para salir pero no elijio ninguna opcion que vuelva a preguntar

Y asi vas metiendo do-while adentro segun quieras hacer mas SubMenus o algunos SubSubMenu xD

Fijate que Con lo que puse.. si no ingresa ninguna opcion, pregunta de nuevo pero no sale con un error, eso se lo pones vs si queres, aunque pienso yo que es mejor si no pones nada, ya que si no ingresa nada o ingresa algo mal, lo hace por error y la segunda vez lo hara bien.


En línea

$krakatoa

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: REGRESAR A MENU ANTERIOR CASE EN JAVA
« Respuesta #2 en: 1 Julio 2013, 03:08 am »

saludos edu

espero que alguien puede ayudarme, hago un menu similar a este, me estoy basando en lo comenta edu pero no entiendo la parte donde dice borrarpantalla; como la pongo en codigo que esta haciendo soy novato saludos y gracias!
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: REGRESAR A MENU ANTERIOR CASE EN JAVA
« Respuesta #3 en: 1 Julio 2013, 19:34 pm »

En realidad no se puede borrar la pantalla xD
A menos que tu aplicación la ejecutes en consola del sistema operativo (tendrias que llamar a los comandos nativos del sistema para limpiar pantalla) o usando JNI pero no es lo que necesitas, en lugar de eso deja que se vaya mostrando todo el procedimiento anterior.
En línea

abc
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: REGRESAR A MENU ANTERIOR CASE EN JAVA
« Respuesta #4 en: 3 Julio 2013, 16:37 pm »

Y como va a regresar del menu 2 al 1 sino hiciste alguna forma para que regrese. Y me huele que el código que tienes esta basado en otro, POR ESA RAZON ESTAS ENTANCADO.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Regresar al menu anterior
Programación C/C++
Zakro 1 6,851 Último mensaje 23 Mayo 2011, 08:11 am
por <<<-Basura->>>
ayuda..con repetir el programa o regresar al menu
Programación C/C++
retsam07 1 19,066 Último mensaje 1 Diciembre 2012, 16:37 pm
por leosansan
Como regresar al menu principal
Java
JoseRiiivera 1 5,014 Último mensaje 28 Abril 2014, 08:37 am
por gordo23
MOVIDO: Como regresar al menu principal
Programación C/C++
Eternal Idol 0 1,709 Último mensaje 26 Abril 2014, 22:37 pm
por Eternal Idol
como regresar a la anterior forma en visual c++
Programación C/C++
andres_348 1 1,890 Último mensaje 22 Julio 2014, 09:49 am
por eferion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines