Java - menu medico

 
Vista:

menu medico

Publicado por Josue (2 intervenciones) el 30/04/2020 06:33:37
Hola a todos estoy empezando en el mundo de programación de java y aun no entiendo como hacer eso de menús me gustaría que me ayudaran a resolver este problema y también me causa polemica el punto 3 como vincular automáticamente los nombres a los id si no los escribo, se los agradeceria mucho si me ayudaran y explicaran para poder entender y avanzar en mis conocimientos gracias a todos

I.- Crear un programa en java que tenga el siguiente menú
1.- Alta de médicos
Registrar: Idmedico, nombre, sexo, edad
2.- Alta de Pacientes
Registrar: idpaciente, nombre, edad
3.- Registro de consultas
Registrar: idconsulta, idmedico, idpaciente, fecha, diagnostico
Cuando se capture los id de médico y paciente despliegue sus
nombre.
4.- Consulta de médicos
Desplegar: todos los datos del medico
5.- Consulta de Pacientes
Desplegar: Todos los datos del paciente
6.- Consulta de Consultas.
B Desplegar: Idmedico, nombre del médico, idpaciente, nombre
del paciente, diagnostico fecha de consulta
7.- fin
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de Lisa
Val: 172
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

menu medico

Publicado por Lisa (34 intervenciones) el 30/04/2020 16:50:08
Creo que con esto puedes empezar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class MenuMedico {
 
    /**
     * Metodo utilizado pare leer Strings
     *
     * @param mensaje
     * @return
     */
    public static String leer(String mensaje) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String s = null;
        try {
            System.out.print(mensaje);
            s = br.readLine();
        } catch (IOException ex) {
            System.out.println("Hubo un error de lectura");
        }
        if (s == null) {
            s = leer(mensaje);
        }
        return s;
    }
 
    /**
     * Metodo utilizado para ller Integers
     *
     * @param mensaje
     * @return
     */
    public static Integer leerInt(String mensaje) {
        Integer i = null;
        try {
            i = Integer.parseInt(leer(mensaje));
        } catch (NumberFormatException ex) {
            System.out.println("Error de formato, vuelva a intentarlo");
        }
        if (i == null) {
            i = leerInt(mensaje);
        }
        return i;
    }
 
    /**
     * Metodo utilizado para leer Doubles
     *
     * @param mensaje
     * @return
     */
    public static Double leerDouble(String mensaje) {
        Double i = null;
        try {
            i = Double.parseDouble(leer(mensaje));
        } catch (NumberFormatException ex) {
            System.out.println("Error de formato, vuelva a intentarlo");
        }
        if (i == null) {
            i = leerDouble(mensaje);
        }
        return i;
    }
 
    public static void main(String[] args) {
        int opcion = -1;
        while (opcion != 7) {
            opcion = leerInt("Seleccione del siguiente menú:"
                    + "\n1.- Alta de médicos"
                    + "\n2.- Alta de Pacientes"
                    + "\n3.- Registro de consulta"
                    + "\n4.- Consulta de médicos"
                    + "\n5.- Consulta de Pacientes"
                    + "\n6.- Consulta de Consultas."
                    + "\n7.- Salir: ");
            switch (opcion) {
                case 1:
                    System.out.println("Alta medica");
                    //Aquí debes programar lo del alta médicos
                    break;
                case 2:
                    System.out.println("Alta pacientes");
                    //Aquí debes programar lo del alta de pacientes
                    break;
                case 3:
                    System.out.println("Registro de consulta");
                    //Aquí debes programar lo del registro de consultas
                    break;
                case 4:
                    System.out.println("Consulta de médicos");
                    //Aquí debes programar lo de la consulta de medicos
                    break;
                case 5:
                    System.out.println("Consulta de pacientes");
                    //Aquí debes programar lo de la consulta de pacientes
                    break;
                case 6:
                    System.out.println("Consulta de consultas");
                    //Aquí debes programar lo de "Consulta de consultas"
                    break;
                case 7:
                    System.out.println("Salir");
                    //Aquí se debe salir del while
                    break;
                default:
                    System.out.println("Opción incorrecta");
                    //Este es un mensaje que se le mostrará al usuario cuando ingrese una opción incorrecta
                    break;
            }
        }
    }
}

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

menu medico

Publicado por josue (2 intervenciones) el 01/05/2020 03:39:26
hasta ahora ya tengo el menu y dos clase una de medicos y otro de pacientes pero la de la receta por la asignacion de los nombres del doctor y del paciente cuando coloque sus nombres me da problemas ese es el punto 3 por favor me podrian ayudar con eso este es el código que llevo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import javax.swing.JOptionPane;
 
 
public class menu_submenu {
 
 
    public static void main(String[] args) {
        menu();
 
    }
 
 
    public static  void menu() {
 
        int opcion=0;
 
        do{
           try{
               opcion = Integer.parseInt(JOptionPane.showInputDialog(null,
                         "1.- Alta medicos \n"
                       + "2.- Alta pacientes \n"
                       + "3.- Registro de consultas\n"
                       + "4.- Consulta de medico\n"
                       + "5.- Consulta de paciente \n"
                       + "6.- Consulta de consultas \n"
                       + "7.- Salir \n"
                       + "Elige una opcion","Menú de Principal",
                       JOptionPane.INFORMATION_MESSAGE));
 
               switch (opcion){
 
                   // Registar medicos
                   case 1:
                         medicos med=new medicos(0,0,"","");
                         med.registromed();
                         //med.visualizadatos();
 
                   break;
 
 
                   //Registar pacientes
                   case 2:
                       Pacientes pac = new Pacientes(0,0,0,"","");
                       pac.registropac();
                       pac.visualizadatos();
                    break;
 
                    //Registro de consultas
                   case 3:
 
                       break;
                       //consulta de medicos
                   case 4:
                       break;
                       //consulta de pacientes
                   case 5:
 
                       break;
                       //consulta de consultas
                    case 6:
 
                       break;
                       //Salir
                    case 7:
 
                       break;
 
                    default:
                        JOptionPane.showMessageDialog(null, "Opcion incorrecta","Incorrecta", JOptionPane.INFORMATION_MESSAGE);
 
               }
 
           }catch (NumberFormatException n) {
               JOptionPane.showMessageDialog(null,"Favor de seleccionar una opcion ");
           }
 
 
        } while( opcion!=7);
 
    }
 
 
 
//Fin del submenu



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import javax.swing.JOptionPane;
 
public class medicos {
 
   private int id_medico,edad_med;
   private String nom_med,sex_med;
 
    public medicos(int id_medico, int edad_med, String nom_med, String sex_med) {
        this.id_medico = id_medico;
        this.edad_med = edad_med;
        this.nom_med = nom_med;
        this.sex_med = sex_med;
    }
 
 
 
    public void registromed(){
        medicos[]  med = new medicos[4];
 
 
 
       int id_medico;
       String nom_med="", sex_med="";
       double sueldo;
       int edad_med;
 
       int i;
 
       for (i=0;  i < med.length; i++){
           id_medico = i+1;
 
           nom_med = JOptionPane.showInputDialog(" Id ["+id_medico+"] Dame el Nombre del medico ");
           edad_med = Integer.parseInt(JOptionPane.showInputDialog("Dame la edad del medico "+(i+1)));
           sex_med = JOptionPane.showInputDialog("Dame el sexo del medico "+(i+1));
           med[i] = new medicos(id_medico,edad_med,nom_med,sex_med);
       }
 
       System.out.println(" ");
 
       System.out.println("Datos de los trabajadores ");
 
       for (i=0; i < med.length; i++ ){
 
           System.out.println(med[i].visualizadatos());
       }
    }
 
    public String visualizadatos(){
        String ls_datos;
    return ls_datos = "Id "+id_medico+" Nombre "+nom_med+" Edad "+edad_med+" Sexo "+sex_med;
    }
}



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import javax.swing.JOptionPane;
 
 
public class Pacientes {
  private int id_pac,id_med,edad_pac;
   private String nom_pac,nom_med;
 
    public Pacientes(int id_pac, int id_med, int edad_pac, String nom_pac, String nom_med) {
        this.id_pac = id_pac;
        this.id_med = id_med;
        this.edad_pac = edad_pac;
        this.nom_pac = nom_pac;
        this.nom_med = nom_med;
    }
 
    public void registropac(){
        Pacientes[]  pac = new Pacientes[4];
       int id_pac,id_med;
       String nom_pac="",nom_med;
       int edad_pac;
 
       int i;
 
       for (i=0;  i < pac.length; i++){
           id_pac = i+1;
 
           nom_pac = JOptionPane.showInputDialog(" Id ["+id_pac+"] Dame el Nombre del paciente ");
           edad_pac = Integer.parseInt(JOptionPane.showInputDialog("Dame la edad del paciente "+(i+1)));
           nom_med = JOptionPane.showInputDialog("  Dame el Nombre del medico ");
           id_med = Integer.parseInt(JOptionPane.showInputDialog("Dame el id del medico "));
           pac[i] = new Pacientes(id_pac,id_med,edad_pac,nom_pac,nom_med);
       }
 
       System.out.println(" ");
 
       System.out.println("Datos de los trabajadores ");
 
       for (i=0; i < pac.length; i++ ){
 
           System.out.println(pac[i].visualizadatos());
       }
    }
 
    public String visualizadatos(){
        String ls_datos;
    return ls_datos = "Id "+id_pac +" Nombre del paciente "+nom_pac +" Edad "+edad_pac +"Id del medico: "+id_med +"Nombre del medico: "+nom_med;
    }
}



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import javax.swing.JOptionPane;
 
public class Recetas {
 
 
    public Recetas() {
 
    }
 
    public void registrorec(){
        Pacientes[]  pac = new Pacientes[4];
 
       }
    }
 
    public String visualizadatos(){
        String ls_datos;
    return ls_datos = "Id "+id_pac +" Nombre del paciente "+nom_pac +" Edad "+edad_pac +"Id del medico: "+id_med +"Nombre del medico: "+nom_med;
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

menu medico

Publicado por Rodrigo (622 intervenciones) el 01/05/2020 14:17:26
El lugar donde tienes definida las cosas no parece lo mejor.

Haria estos cambios:

- 2 clases, 1 Paciente y otra Pacientes
- 2 clases. 1 Medico y otra Medicos
- El codigo de registropac y registromed, moverlo a donde a las clases Pacientes y Medicos, respectivamente. Renombrarlas a registro().
- En el main, definir y usar las clases Pacientes y Medicos

La clases quedarian algo asi:

1
2
3
class Paciente {
   // datos y metodos para definir y usar 1 paciente
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Pacientes {
   // datos y metodos para definir y usar un conjunto de pacientes
   private Paciente[] pacientes;
 
   public Pacientes(int numeroPacientes ) {
       pacientes = new Pacientes[numeroPacientes];
   }
 
   public void registro() {
       // no asignar nada a la variable pacientes, si
       // asignar a cada uno de los elementos de este arreglo
       ...
   }
 
   // ejemplo de metodo que podria ser util
   public Paciente buscarPaciente(String nombre) {
      ...
   }
   // .. otros metodos utiles
}

y con esa definicion, mas otra similar para Medico y Medicos, cambiarias la clase que tiene el main a

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class MiClaseDondeEstaElMain() {
 
   private Pacientes pacientes;  // definir aqui
   private Medicos medicos;
 
   void elMenu() {
       ...
       // pedir o asignar el numero de pacientes con que se trabajara'
       int numeroPacientes;
 
       // asignar memoria para el conjunto de Pacientes
       pacientes = new Pacientes(numeroPacientes);  // solo asignarla aqui
       ...
       pacientes.registro();
 
   }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar