Considere una película de clase que contiene la siguiente información sobre una película: * Título * Clasificación MPAA (p. Ej., G, PG, PG-13, R) * Número de personas que calificaron esta película como 1 * Número de personas que calificaron esta película como a 2 * Número de personas que calificaron esta película con un 3 * Número de personas que calificaron esta película con un 4 * Número de personas que calificaron esta película con un 5

IDIOMA: C ++

DESAFÍO:

Considere una película de clase que contiene la siguiente información sobre una película:

* Título
* Clasificación MPAA (por ejemplo, G, PG, PG-13, R)
* Número de personas que calificaron esta película como 1
* Número de personas que calificaron esta película como 2
* Número de personas que calificaron esta película como 3
* Número de personas que calificaron esta película con un 4
* Número de personas que calificaron esta película con un 5

Implemente la clase Movie de manera que pueda contener la información anterior.
Incluya un constructor que acepte dos parámetros e inicialice el título de la película al valor de su primer parámetro y la calificación MPAA de la película al valor de su segundo parámetro y la calificación pública a 0.
También incluye funciones de miembro de acceso para título y calificación de MPAA.
Incluya una función miembro para incrementar la calificación pública que solo aceptará valores enteros entre 1 y 5. Finalmente, escriba una función miembro que devuelva la calificación pública promedio de una película.
Escriba un programa que use su clase de película pidiendo primero al usuario que ingrese el título de la película y la calificación MPAA, luego cree un objeto usando el constructor y luego permita que el usuario ingrese una lista separada por espacios de calificaciones de personas, terminando con -1 .
Finalmente, el programa mostrará el título de la película, su calificación MPAA y su calificación pública promedio.

SOLUTION:


public class Movie{
    private String movieName;
    private String MPAARating;
    private int numRate[];

    public Movie(){
        movieName = null;
        MPAARating = null;
        numRate = new int[5];
        numRate[0] = 0;
        numRate[1] = 0;
        numRate[2] = 0;
        numRate[3] = 0;
        numRate[4] = 0;
    }

    public Movie(String name, String rating){
        movieName = name;
        MPAARating = rating;
        numRate = new int[5];
        numRate[0] = 0;
        numRate[1] = 0;
        numRate[2] = 0;
        numRate[3] = 0;
        numRate[4] = 0;
    }

    public Movie(String name, String rating, int terrible, int bad, int ok, int good, int great){
        movieName = name;
        MPAARating = rating;
        numRate = new int[5];
        numRate[0] = terrible;
        numRate[1] = bad;
        numRate[2] = ok;
        numRate[3] = good;
        numRate[4] = great;
    }

    public String getMovieName(){
        return movieName;
    }

    public void setMovieName(String name){
        movieName = name;
    }

    public String getMPAARating(){
        return MPAARating;
    }

    public void setMPAARating(String rating){
        MPAARating = rating;
    }

    public void addRating(int num){
        if(num > 0 && num <= 5){
            numRate[num - 1]++;
        }else{
            System.out.println("Number Value Out of Range");
        }
    }

    public double getAverage(){
        return (double) (numRate[0] * 1 + numRate[1] * 2 + numRate[2] * 3 + numRate[3] * 4 + numRate[4] * 5) / (numRate[0] + numRate[1] + numRate[2] + numRate[3] + numRate[4]);
    }

    public static void main(String[] args){
        Movie obj1 = new Movie();
        Movie obj2 = new Movie();

        obj1.addRating(1);
        obj1.addRating(2);
        obj1.addRating(3);
        obj1.addRating(4);
        obj1.addRating(5);
      
        obj2.addRating(1);
        obj2.addRating(2);
        obj2.addRating(3);
        obj2.addRating(4);
        obj2.addRating(5);

        obj1.setMovieName("Dark Knight Rises");
        obj2.setMovieName("Hangover 2");

        System.out.println("Movie Name: " + obj1.getMovieName());
        System.out.println("MPAA Rating: " + obj1.getMPAARating());
        System.out.println("People Rating: " + obj1.getAverage());
        System.out.println();

        System.out.println("Movie Name: " + obj2.getMovieName());
        System.out.println("MPAA Rating: " + obj2.getMPAARating());
        System.out.println("People Rating: " + obj2.getAverage());
        System.out.println();

        Movie obj3 = new Movie();
        Movie obj4 = new Movie("Final Destination", "PG-13");
        Movie obj5 = new Movie("Ghost Rider", "PG", 2, 2, 2, 2, 2);

        obj3.setMovieName("Avatar");
        obj3.setMPAARating("R");

        obj3.addRating(5);
        obj3.addRating(4);
        obj3.addRating(5);
        obj3.addRating(3);
        obj3.addRating(4);
        obj3.addRating(5);
        obj3.addRating(3);
        obj3.addRating(4);
        obj3.addRating(3);
        obj3.addRating(5);

        obj4.addRating(5);
        obj4.addRating(1);
        obj4.addRating(4);
        obj4.addRating(5);
        obj4.addRating(3);
        obj4.addRating(5);
        obj4.addRating(4);
        obj4.addRating(2);
        obj4.addRating(5);
        obj4.addRating(3);

        obj5.addRating(4);
        obj5.addRating(5);
        obj5.addRating(2);
        obj5.addRating(3);
        obj5.addRating(5);
        obj5.addRating(3);
        obj5.addRating(4);
        obj5.addRating(5);
        obj5.addRating(2);
        obj5.addRating(3);

        System.out.println("Movie Name: " + obj3.getMovieName());
        System.out.println("MPAA Rating: " + obj3.getMPAARating());
        System.out.println("People Rating: " + obj3.getAverage());
        System.out.println();

        System.out.println("Movie Name: " + obj4.getMovieName());
        System.out.println("MPAA Rating: " + obj4.getMPAARating());
        System.out.println("People Rating: " + obj4.getAverage());
        System.out.println();

        System.out.println("Movie Name: " + obj5.getMovieName());
        System.out.println("MPAA Rating: " + obj5.getMPAARating());
        System.out.println("People Rating: " + obj5.getAverage());
    }
}