dimanche 6 décembre 2020

a bug with if and else if statement

I'm making this for my college project, my problem is whenever I put these 3 specific inputs: 98, 95, 96; it will output 96.33333, and it would never output the Equivalent Grade line. Sorry I'm just a beginner, I'm still not familiar to coding jargons. Can anybody help me how I could fix this bug? I would appreciate it so much. Thank you in advanced!

#include <iostream>

using namespace std;

int main()
{
    double prelim = 0.0;
    double midterm = 0.0;
    double finals = 0.0;
    double gen = 0.0;
    double equiv = 0.0;

    cout << "Enter Prelim Grade : ";
    cin >> prelim;
    cout << "Enter Midterm Grade : ";
    cin >> midterm;
    cout << "Enter Finals Grade : ";
    cin >> finals;
    cout << endl;

    gen = (prelim + midterm + finals) / 3;

    cout << "Your General Average is: " << gen << endl;

    if (gen <= 100 && gen >= 97)
    {
        cout << "Equivalent Grade is: 1.0";
    }
    else if (gen <= 96 && gen >= 94)
    {
        cout << "Equivalent Grade is: 1.25";
    }
    else if (gen <= 93 && gen >= 91)
    {
        cout << "Equivalent Grade is: 1.50";
    }
    else if (gen <= 90 && gen >= 88)
    {
        cout << "Equivalent Grade is: 1.75";
    }
    else if (gen <= 87 && gen >= 85)
    {
        cout << "Equivalent Grade is: 2.0";
    }
    else if (gen <= 84 && gen >= 82)
    {
        cout << "Equivalent Grade is: 2.25";
    }
    else if (gen <= 81 && gen >= 79)
    {
        cout << "Equivalent Grade is: 2.50";
    }
    else if (gen <= 78 && gen >= 76)
    {
        cout << "Equivalent Grade is: 2.75";
    }
    else if (gen == 75)
    {
        cout << "Equivalent Grade is: 3.0";
    }
    else if (gen < 75)
    {
        cout << "Equivalent Grade is: 5.0";
    }


    return 0;
}

Aucun commentaire:

Enregistrer un commentaire