// multibranchIfDemo.cpp
//
// Displays the letter grade
// corresponding to a percentage score.
//
// Demonstrates branching using multiple separate
// if statements.  This practice is definitely NOT
// recommended.  Nested if/else is strongly preferred,
// both because it involves fewer comparisons (hence
// more efficient) and because, with nested if/else,
// it is easier to avoid forgetting to cover all
// possible cases.

#include <iostream>

using namespace std;

int main()
{
   // Announce purpose of program:
   cout << "This program determines the letter grade"
                  << " corresponding to a"
                  << " percentage score." << endl;

   // Ask user for percentage score:
   cout << "Enter percentage score:>";
   int score;
   cin >> score;

   // Check range of input:
   if ( score < 0 || score > 100 )
   {
      cout << "You entered " << score
                 << ", must be in range [0, 100]." << endl;
      return 1;
   }  // if

   // Determine the corresponding letter grade:
   char grade;

   if ( score >= 90 )
      grade = 'A';
   if ( score >= 80 && score < 90 )
      grade = 'B';
   if ( score >= 70 && score < 80 )
      grade = 'C';
   if ( score >= 60 && score < 70 )
      grade = 'D';
   if ( score < 60 )
      grade = 'F';

   // Output percentage score and letter grade:
   cout << "A score of " << score
               << " receives a grade of "
               << grade << "." << endl;

   return 0;
}  // function main