Ejercicio 11 Java.- de 5 alumnos, saber cuáles reprobaron(Con ventanas emergentes).

preview_player
Показать описание
Iremos capturando el número de control y calificación de cada alumno, de un total de 5 alumnos. El programa nos irá mostrando en pantalla cuáles han reprobado.
Рекомендации по теме
Комментарии
Автор

Me encantó el video, comparto mi solución, considerando que en mi país, desaprobado es menor que 11. Saludos!
/*
Iremos capturando el número de control del alumno y su calificación, de un total de 5 alumnos.
El programa nos irá mostrando en pantalla cualen han aprobado y desaprobado.
*/
package alumno_apro_repro;

import java.util.Scanner;
import javax.swing.JOptionPane;

/**
*
* @author eduardo
*/
public class Alumno_Apro_Repro {

public static void main(String[] args) {

//Lector de Datos
Scanner sc = new Scanner(System.in);

//Variables
int idControl[] = new int[5];
double notasAlumno[] = new double[5];
int aprobado = 0, desaprobado = 0;

//Pedimos los datos al usuario
System.out.println("\tINGRESO DE NOTAS");


//A traves de ventanas emergentes
for(int i=0;i<5;i++){
do{
idControl[i] = N° " + (i+1) + ": "+"\n" +(i+1)+".- Id Control:"));
if(idControl[i]<=999 || idControl[i]>=10000){
JOptionPane.showMessageDialog(null, "ERROR...");
JOptionPane.showMessageDialog(null, "ID INVÁLIDO (mínimo 4 digitos)");
}
}while(idControl[i]<=999 || idControl[i]>=10000);

do{
notasAlumno[i] = ".- Nota: "));
if(notasAlumno[i]<0 || notasAlumno[i]>20){
JOptionPane.showMessageDialog(null, "ERROR...");
JOptionPane.showMessageDialog(null, "NOTA INVÁLIDA (mayor que 0)");
}
}while(notasAlumno[i]<=0 || notasAlumno[i]>20);

if(notasAlumno[i]<11){
desaprobado++;
}
if(notasAlumno[i]>=11){
aprobado++;
}
}
JOptionPane.showMessageDialog(null, "Cantidad de aprobados: " + aprobado);
JOptionPane.showMessageDialog(null, "Cantidad de desaprobados: " + desaprobado);


//Muestra de datos ingresados a través de la consola
System.out.println("\tALUMNOS INGRESADOS");
System.out.println(" ID " + " NOTA");
for(int i=0;i<5;i++){
+ " " + notasAlumno[i]);
}


//Muestra de los alumnos aprobados y desaprobados
System.out.println("Alumnos Aprobados");
System.out.println(" ");
for(int i=0;i<5;i++){
if(notasAlumno[i]>=11){
System.out.println("Alumno N°" + (i+1) + ": " + notasAlumno[i]);
}
}


System.out.println("Alumnos Desaprobados");
System.out.println(" ");
for(int i=0;i<5;i++){
if(notasAlumno[i]<11){
System.out.println("Alumno N°" + (i+1) + ": " + notasAlumno[i]);
}
}


System.out.println("Cantidad de alumnos aprobados: " + aprobado);
System.out.println("Cantidad de alumnos desaprobados: " + desaprobado);
}

}

eduardomarcelorodriguezram
Автор

Muchas gracias, maestra!!
He vuelto después de un tiempo de descanso por las pruebas de estado en mi país jejeje

/*
[Cali, Martes 1ro de Diciembre del 2020] - Day 11/100

Crear un programa que capture el código y calificación de 5 alumnos.
El programa nos irá mostrando en pantalla cuáles han aprobado y reprobado.
*/

package main;

import javax.swing.JOptionPane;

public class No_011 {
public static void main(String[] args) {
String code;
double grade;
boolean approved;

for (int i = 0; i < 5; i++){
code = número " + (i+1 + "\nIndroduzca su código:"));
grade = la nota del alumno #" + (i+1) + " con código " + code + ":"));

if (grade >= 6){
approved = true;
}else{
approved = false;
}

if (approved){
JOptionPane.showMessageDialog(null, "El alumno #" + (i+1) + " de código " + code + " ha aprobado.");
}else{
JOptionPane.showMessageDialog(null, "El alumno #" + (i+1) + " de código " + code + " ha reprobado.");
}
}
}
}

PipeGamer_
Автор

Genial! Videos cortos y aprendizaje a full!!

nett
Автор

Con solo agregar un
" reprobado = false;"
Luego de decir que el alumno no está aprobado, se soluciona el error! Saludo

lautarosarzetto
Автор

Saludos!, Me gustaría indicar que falta algo en la solución de este ejercicio mostrada en el video, sucede que la variable boolean “reprobado”, no está siendo reseteada para cada vuelta del ciclo, por tanto, una vez que sea insertado alguien reprobado, la variable “reprobada” quedará en “true” para siempre, teniendo como consecuencia que próximos valores darán resultados erróneos cuando ingresamos otras notas aprobadas.
Una Solución:
Simplemente podemos pasar para dentro del for y al inicio, la línea:
boolean reprobado=false;
Esto garantizará que la variable “reprobado” sea reseteada para cada vuelta del ciclo, y no de problemas.

Adicionalmente Mi código Con Otra Solución:

public static void main(String[] args) {

for(int i=1; i<=5; i++)
{
String the control number for the student "+i+": ");
float the note for the student "+i+": "));
JOptionPane.showMessageDialog(null, "The student is:
}
}

public static boolean isApproved(float note) {

float minNoteToApproved=6.0f;

if(note>=minNoteToApproved)
return true;
else
return false;
}

marktulsoto
Автор

hola me encantan tus vídeos, eres una máquina !! Pregunta: Si descartamos el boolean el programa funcionaria igualmente no? if(calificacion<6) {
print.out.ln("El alumno ha reprobado") ;

marcoslasaye
Автор

Si parto de boolean suspendido =true, por qué al meter una nota de 8 me sale suspendido. Debería saltarse el if e ir al else ¿no?O no llega a entrar en el IF ?


int calificacion=0;
String numControl=" ";
boolean suspendido= true;
for(int i=0;i<3; i++)

{
" + (i+1) + "\n" + "Introduce tu codigo");
la calificación"));
if(calificacion<5) suspendido=true;
if(suspendido==true)
{
null, "El alumno " + numControl + "\n" + "Ha suspendido");
}
else
{
JOptionPane.showMessageDialog(null, "El alumno ha aprobado");
}
}


}
}

AntonioBravoTrevejo
Автор

Aqui mi codigo pero sin usar las pantallas emergentes:

import java.util.Scanner;
public class
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int nlista = 0, calif = 0;

for(int i = 0; i < 5; i ++){
System.out.print("Introduce el numero de lista del alumno que desee obtener informacion: ");
nlista = sc.nextInt();
switch (nlista) {
case 1:
System.out.print("Introduzca la calificacion del alumno: ");
calif = sc.nextInt();
if(calif >= 7){ //en mi colegio calificacion 6 o menos es reprobatoria
System.out.println("El alumno ha aprobado");
} else {
System.out.println("El alumno ha reprobado.");
}
break;
case 2:
System.out.print("Introduzca la calificacion del alumno: ");
calif = sc.nextInt();
if(calif >= 7){
System.out.println("El alumno ha aprobado");
} else {
System.out.println("El alumno ha reprobado.");
}
break;
case 3:
System.out.print("Introduzca la calificacion del alumno: ");
calif = sc.nextInt();
if(calif >= 7){
System.out.println("El alumno ha aprobado");
} else {
System.out.println("El alumno ha reprobado.");
}
break;
case 4:
System.out.print("Introduzca la calificacion del alumno: ");
calif = sc.nextInt();
if(calif >= 7){
System.out.println("El alumno ha aprobado");
} else {
System.out.println("El alumno ha reprobado.");
}
break;
case 5:
System.out.print("Introduzca la calificacion del alumno: ");
calif = sc.nextInt();
if(calif >= 7){
System.out.println("El alumno ha aprobado");
} else {
System.out.println("El alumno ha reprobado.");
}
break;

default:
System.out.println("El numero de lista que tecleo no se encuenra en los registros del programa");
System.out.println("Se finalizara el proceso."); /*Finalizo el proceso porque si se inserta un numero no valido
luego es medio molesto y tedioso seguir repitiendo la misma iteracion hasta que el bucle for termine */
i = 6;
System.out.println("El proceso se ha finalizado exitosamente.");
break;
}
}
sc.close();
}
}

nhowuis
Автор

Dejo otra variante a la resolución del ejercicios:

public static void main(String[] args) {

Scanner entrada = new Scanner(System.in);

int id;
int nota = 0;

while (nota < 50) {

System.out.println("Ingrese la id del alumno");
id = entrada.nextInt();
System.out.println("Ingrese la nota del alumno");
nota = entrada.nextInt();

if (nota < 3) {
System.out.println("el alumno " + id + " Reprobo");

} else if (nota >= 3) {
System.out.println("el alumno " + id + " Aprobo, gano");
System.out.println(" ");

}

}

}

brahamnduque
Автор

String [] codigo =new String[5];//declaramos un arreglo en mi caso lo hare asi nose xk xd

int nota;
for (int i = 0; i <codigo.length; i++) {
codigo[i] = el codigo del alumno "+(i+1)));//leemos el codigo y lo almacenamos en codigo

el la nota del 1-10 alumno del "+(i+1)));//almacenamos la nota
if (nota<4) {
JOptionPane.showMessageDialog(null, "el alumno "+codigo[i]+ "ha reprobado :C");
}
else if (nota>4 && nota<=10) {
JOptionPane.showMessageDialog(null, "el alumno "+codigo[i]+ " aprobo felicidades :)");
}
else {
JOptionPane.showMessageDialog(null, "el alumno "+codigo[i]+ " no tiene nota xk usted introducio mal su nota del 1-10 :)");

Lokox
Автор

esta bien tu curso pero hay una falla, no se resetea el reprobado, el if (calificacion<6) reprobado=true sobra, la correccion mia
if(calificacion<6) {
reprobado=true;
JOptionPane.showMessageDialog(null, "El alumno "+numControl+" ha reprobado");
}
else {
reprobado=false;
JOptionPane.showMessageDialog(null, "El alumno "+numControl+" no ha reprobado");
}

CésarOrlandoRincónMartínez