viernes, 29 de noviembre de 2013

Unidad 2 Ejercicio 27: Cálculo de las medias de notas de los alumnos



package unidad2ejer27;
import java.util.Scanner;
/**
*
Hacer un programa que nos permita calcular la nota media de un alumno a partir de una serie de calificaciones leídas desde el teclado. No se puede permitir al usuario meter notas mayores de 10. El proceso de lectura finaliza cuando se introduzca una nota negativa. El programa puede ser ejecutado varias veces, para ello después de realizar el proceso para un alumno se visualizara el mensaje: ¿Desea calcular la media de otro alumno?, Teclee una S o una N. Si el usuario teclea S el programa vuelve a ejecutarse y si teclea N finalizara su ejecución


* @author Juan
*/
public class Unidad2Ejer27 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int nota,suma, media,cont;
        char mas;
        String cadena;
        Scanner leo = new Scanner(System.in);
   

     //Bucle externo salimos al pulsar una N
        do {          
            //Calcular media, se sale cuando la nota es < 0
            suma=0;
            cont=0;
            do {              
                System.out.println("Introduzca una nota (o un número negativo si no desea introducir más):");
                //solo se leen notas menores que 10
              
              
                do {                  
                    nota=leo.nextInt();
                    if (nota>10) {
                        System.out.println("Introduzca una nota menor que 10:");
                    }
                } while (nota>10);
              
                if (nota>0) {
                    suma+=nota;//suma=suma+nota;
                    ++cont;
                }
              
            } while (nota>=0);
            //calculamos las medias
            if (suma==0) System.out.println("Media 0");
            else System.out.println("Media "+((double)suma/cont));
          
            //Comprobamos si desea calcular las medias de más alumnos
            System.out.println("Desea calcular las medias de más alumnos (S/n)?");
            cadena=leo.next();
            mas = cadena.trim().toUpperCase().charAt(0);
          
        } while (mas!='N');
      
    }
}