samedi 3 février 2018

What's wrong with my code (c++ beginner)?

I'm new to coding and taking a beginner c++ class, I am really not sure what is wrong with the code I have. I have moved things around to no avail. The program is meant to ask a user for a letter grade and whether its +, -, or no sign (e.g. A+, A-, A). I have to use a switch and also if statements but I'm unsure where my logic is failing.

#include <iostream>
#include <string>
using namespace std;

int main()
d{
char sign, letterGrade;
string gradeRange;

cout << "Enter a letter grade: ";
cin >> letterGrade;

cout << "Enter a sign (+ or -) if applicable; otherwise, enter 'x': ";
cin >> sign;

switch (letterGrade) {
case 'A': {
        if (sign == '+' || sign == 'x') {
            gradeRange = "greater than 93%";
        }
        else if (sign == '-') {
            gradeRange = "greater than or equal to 90%, but less than 93%.";
        }
        break;
    }
    case 'B': {
        if (sign == '+') {
            gradeRange = "greater than or equal to 87%, but less than 90%.";
        }
        else if (sign == 'x') {
            gradeRange = "greater than or equal to 83%, but less than 87%.";
        }
        else if (sign == '-') {
            gradeRange = "greater than or equal to 80%, but less than 83%.";
        }
        break;
    }
    case 'C': {
        if (sign == '+') {
            gradeRange = "greater than or equal to 77%, but less than 80%.";
        }
        else if (sign == 'x' || sign == '-') {
            gradeRange = "greater than or equal to 70%, but less than 77%.";
        }
        break;
    }
    case 'D': {
        if (sign == '+' || sign == '-' || sign == 'x') {
            gradeRange = "greater than or equal to 60%, but less than 70%.";
        }
        break;
    }
    case 'F': {
        if (sign == '+' || sign == 'x' || sign == '-') {
            gradeRange = "less than 60%.";
        }
        break;
    }
    default: {
        cout << "Oops, an error occured, please try again.";
    }
cout << "The student's letter grade range is " << gradeRange << endl;

}


return 0;

}

Aucun commentaire:

Enregistrer un commentaire