fun main() {
var repetir: Char //Declara variable de repetir como Character
do { //Comienza el do/while
println("Calcule el promedio de notas para una cantidad de estudiantes especificada.")
print("¿Cuántos estudiantes se le va a calcular el promedio? ") //Imprime la pregunta
val studentCount = readLine()?.toIntOrNull() ?: run { // Entrada de los datos y declara variable de studentCount
println("Cantidad inválida") //Validacion por Run
return
}
var count = 1 // count comienza en 1
while (count <= studentCount) { // Un loop while
print("Ingrese las tres notas del estudiante $count: ") //Pregunta por las tres notas
val input = readLine()?.split(" ")?.mapNotNull { it.toIntOrNull() } //Declara variable de input y entrada de datos con split
if (input == null || input.size != 3) { // Validacion de input
println("Entrada inválida, por favor ingrese tres notas.")
continue
}
val (n1, n2, n3) = input //Declara las tres n como input
val promedio = (n1 + n2 + n3) / 3 // Declara promedio y operacion math
println("El promedio del estudiante $count es: $promedio") // Imprime resultado
count++ //Suma el count
}
print("¿Desea calcular el promedio para otro grupo de estudiantes? (Y/N): ")
repetir = readLine()?.firstOrNull() ?: 'N' //Pregunta si quieres repetir
} while (repetir == 'Y' || repetir == 'y') //Repetir el programa entero con do/While
println("Programa terminado.")
}