Ejercicio.- (Arreglo de objetos) Lista de alumnos y calificaciones (Curso de Kotlin desde cero [64])

En este tutorial vamos a crear un arreglo de objetos a los cuales le vamos a asignar el nombre, aula y la calificación de varios alumnos para finalmente pedirle al sistema el aula el promedio de una aula con los siguientes pasos:

  • Crear la clase Alumnos que se inicializará con el nombre y el aula del alumno.
  • Crear el atributo calificación que tendrá un getter que validara que la calificación esté en un rango entre 0 y 10.
  • Desde main pedir al humano la cantidad de alumnos a ingresar.
  • Crear un arreglo de de Alumnos llenar sus datos.
  • Pedir al humano que ingrese una aula.
  • Sumar sus calificaciones y promediar del aula ingresada.
  • Mostrar el promedio del aula ingresada.

Código: https://github.com/programadornovato/CursoKotlin/commit/730a9df1c8cb87c31c23f8dcec75c390f6caee16

//src/Alumnos.kt 
 class Alumnos (var nombre:String,var aula:Char){
     var calificacion:Double=0.0
        set(calificacion){
            if(calificacion>10){
                field=10.0
            }else if(calificacion<0){
                field=0.0
            }else{
                field=calificacion
            }
        }
 }


///src/main.kt
import javax.swing.JOptionPane

fun main(args:Array<String>){
    var cantAlumnos=JOptionPane.showInputDialog("Humano ingresa la cantidad de alumnos de tu escuela").toInt()
    var a=Array<Alumnos?>(cantAlumnos){null}
    for (i in 0 until cantAlumnos){
        var nombre=JOptionPane.showInputDialog("Humano ingresa el nombre del alumno ${i+1}")
        var aula=JOptionPane.showInputDialog("Humano ingresa el aula del alumno ${i+1}")[0]
        var calificacion=JOptionPane.showInputDialog("Humano ingresa la calificacion del alumno ${i+1}").toDouble()
        a[i]=Alumnos(nombre, aula)
        a[i]!!.calificacion=calificacion
    }
    var suma=0.0
    var promedio=0.0
    var cantAlumnosPorSalon=0
    var salon=JOptionPane.showInputDialog("Humano ingresa el salon de los alumnos a promediar")[0]
    for(i in 0 until cantAlumnos){
        if(salon==a[i]!!.aula){
            suma=suma+a[i]!!.calificacion
            cantAlumnosPorSalon++
        }
    }
    promedio=suma/cantAlumnosPorSalon
    JOptionPane.showMessageDialog(null,"El promedio de los alumnos del salon $salon es $promedio")
}
 

🎦 Mismo tutorial pero en Java: https://youtu.be/CZcfhu8lrqg
🎦 [Curso] Java Netbeans Completo☕: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTT-qEHGqZH3fkBgXH4GOTF
🎦 [CURSO] PYTHON PARA PRINCIPIANTES🐍: https://www.youtube.com/playlist?list=PLCTD_CpMeEKRppvi86Dy8CPYZ8-XzN2qu

🔗 Facebook: https://facebook.com/ProgramadorNovatoOficial
🔗 Twitter: https://twitter.com/programadornova
🔗 Linkedin: https://www.linkedin.com/in/programadornovato/
🔗 Instagram: https://www.instagram.com/programadornovato/
🔗 Pagina oficial: https://www.programadornovato.com
🔗 Gracias por apoyar este canal: https://www.patreon.com/programadornovato

Eugenio Chaparro

Entradas recientes

🟢Editar código de un módulo en Dolibarr [04]

🟢Editar código de un módulo en Dolibarr [04]

En este tutorial vamos editar el código de nuestro módulo personas para poder personalizar algunas…

3 semanas hace
🟢Crear un sub_módulo en Dolibarr [03]

🟢Crear un sub_módulo en Dolibarr [03]

En este tutorial vamos a crear un sub módulo llamado seguridad que será muy parecido…

3 semanas hace
🟢Modificar un módulo en Dolibarr [02]

🟢Modificar un módulo en Dolibarr [02]

En este tutorial aprenderemos a editar el objeto personas del modulo persona que creamos en…

3 semanas hace
🟢Constructor de módulos en Dolibarr

🟢Constructor de módulos en Dolibarr

Como mencionamos anteriormente Dolibarr es un proyecto realizado sobre la base de una política clara:…

3 semanas hace
🟢Tickets en Dolibarr [19]

🟢Tickets en Dolibarr [19]

Los ticket en dolibarr nos ayudan a comunicar inconveniente en nuestros productos y servicios dentro…

3 semanas hace
🟢Agenda en Dolibarr [18]

🟢Agenda en Dolibarr [18]

Las agendas en dolibarr nos ayudan a ver las actividades realizadas en proceso y por…

3 semanas hace