Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - fcosun

#1
Java / Registras notas alumnos en array con Swing
15 Noviembre 2014, 04:06 AM

Hola, tengo que hacer la siguiente tarea:

Ítem I.-

Enunciado:

Un instituto Profesional  requiere una aplicación que le permita registrar y controlar las notas de un curso.

Use clase JFrame y los artefactos necesarios ( JLabel, JtextField, etc.)

a)   Use una matriz numérica de 10x5 para registrar la notas:

•   Solemne1, Solemne2, NotaP, Examen, NotaFinal

Datos ingresados:   Solemne1, Solemne2, Examen

Datos Calculados:

•   NotaP = promedio de solemnes
•   NotaFinal= 70% NotaP, 39% Examen.

b)   Use un arreglo de caracteres para registrar los nombres de alumnos,

Nota: Los alumnos se identifican con el número de subíndice

Se pide:

1.- Construir clase extendida de JFrame.

Los siguientes métodos:

2.- Ingreso de nombres en el arreglo Alumnos

3.- Ingreso de Solemnes y cálculo de NotaP. Validar que las notas estén entre 1 y 7.

4.- Ingreso de Examen y cálculo de NotaFinal

5.- Listar alumnos aprobados y Nota Promedio de los aprobados.

6.- Listar Cantidad Aprobados, Reprobados y Promedio curso.

7.- Consultar notas finales de un alumno. Desplegar:

Índice, Nombre, Sol1, Sol2, NotaParcial, Examen, NotaFinal , Situación
"Aprobado" o "Reprobado" según corresponda.


aca tengo el codigo no me resulta:


Código (java) [Seleccionar]



import java.util.Scanner;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class NotasAlumnos201 extends JFrame implements ActionListener {
   
    int largo = 5 ;
    int i = 0;
   
    String ArrNombre[] = new String[largo];                                       
    int b[] = new int[largo];
   
    JLabel etiqueta1, etiqueta2, etiqueta3;                                         
    JTextField numero1, numero2, numero3, numero4;                                         
    JButton boton1, boton2, boton3, boton4, boton5;
   
    public static void main(String[] args) {

        NotasAlumnos02 aplicacion = new NotasAlumnos02();
        aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        aplicacion.setLocationRelativeTo(null);   

    }
   
    public NotasAlumnos201() {

        super("Registrar Notas");                     //  clase BurbujaSwing    sub clase de JFrame
       
        setLayout(null);
        etiqueta1=new JLabel("Ingrese Nombre: ");
        etiqueta1.setBounds(10,20,300,30);
        add(etiqueta1);
       
        numero1=new JTextField();
        numero1.setBounds(120,25,150,20);
        add(numero1);
       
        numero2=new JTextField();
        numero2.setBounds(120,55,60,20);
        add(numero2);
       
        numero3=new JTextField();
        numero3.setBounds(120,85,60,20);
        add(numero3);
       
       
        numero4=new JTextField();
        numero4.setBounds(120,115,60,20);
        add(numero4);
       
        etiqueta2=new JLabel("Nota Solemne 1: ");
        etiqueta2.setBounds(10,50,100,30);
        add(etiqueta2);
       
        etiqueta3=new JLabel("Nota Solemne 2: ");
        etiqueta3.setBounds(10,80,100,30);
        add(etiqueta3);
       
        etiqueta3=new JLabel("Nota Examen: ");
        etiqueta3.setBounds(10,110,100,30);
        add(etiqueta3);
       

        boton1 = new JButton("Capturar");
        boton1.setBounds(120,150,120,30);
        boton1.addActionListener(this);
        add(boton1);


       
       

        setSize(400, 250);       //   asume el contenedor
        setVisible(true);       //   asume el contenedor 
       
    }

    public void actionPerformed(ActionEvent evento) {
        if (evento.getSource() == boton1) {
            System.out.println("Presionado");
           
            ArrNombre[i] = numero1.getText();
            System.out.println(ArrNombre[i]); 
           
            int matriz[ ][ ] = new int[3][4];
           
            int nota1, nota2, examen;
           
            nota1 = Integer.parseInt(numero2.getText());
            nota2 = Integer.parseInt(numero3.getText());
            examen = Integer.parseInt(numero4.getText());
           

           
            for(int x=0;x<3;x++) {
                    for(int y=0;y<4;y++) {
                    matriz[x][y]=Integer.parseInt(numero2.getText());
                    }
            }
           
            for(int x=0;x<4;x++) {
                    for(int y=0;y<3;y++) {
                    System.out.println (matriz[x][y]+" "); }
                 
            }
       
           
           
            i++;
           
            /*
            numero1.setText("");
            numero2.setText("");
            numero3.setText("");
            numero4.setText("");
            */
            JOptionPane.showMessageDialog(null, ArrNombre[0] + " Promedio: ");
           
             if (i == largo) {
               JOptionPane.showMessageDialog(null, "Fin de Captura");
            }
             
             
        }

    }
     
}


#2
hola,

en muchos lenguajes de programacion se debe de anteponer una funcion para convertir el valor del mod en entero.

Pero en Pseudolenguaje escrito en papel como se transforma un valor decimal a entero para luego pasarlo al Mod.

Esta bien o mal que lo escribe en papel la siguiente sentencia asi:


valor = rut mod 10 ;

en ves de:

valor =  trunc(rut/10)




en Pseint se pone el trunc por ejemplo

Código (PSeint) [Seleccionar]

Proceso Numero_Verificador.
i <- 0
h <- 2
k <- 0
suma <- 0
escribir "Leer Rut"
leer rut1
rut <- rut1
// aca se saca cuantos numeros tiene
Repetir
rut <- trunc(rut/10)
i <- i + 1
hasta que rut = 0
Repetir
Repetir
x <- trunc(rut1/10)
mod <- rut1 - (x*10)
suma <- suma + (mod*h)
rut1 <- x
si mod <> 0 Entonces
k <- k +1
FinSi
h <- h + 1
hasta que h > 7
h <- 2
k <- k + 1
hasta que k >= 8
entera <- trunc(suma/11)
mod1 <- suma -(entera * 11)
verificador <- 11 - mod1
si verificador > 9 entonces
escribir "Su digito Verificador Es k"
sino
escribir "Su digito Verificador Es ", verificador
FinSi
FinProceso