/*--- CS 111 - Week 11 Lecture 2 - 2025-11-06 Using cin in a main function that provides an INTERACTIVE front-end for function describe_grade (previously designed and tested in Week 11 - Lecture 1's 111lect11-1.cpp) (so notice that I copied over the comment with describe_grade's signature, purpose, and bool test expressions as well as its function definition) compile using: g++ 111lect11-2.cpp -o 111lect11-2 run using: ./111lect11-2 by: Sharon Tuttle last modified: 2025-11-06 ---*/ #include <cstdlib> #include <iostream> #include <string> #include <cmath> using namespace std; /*=== signature: describe_grade: char -> string purpose: expects a grade expressed as a char, and returns a string description for that grade, as follows: grade description ===== =========== 'A' or 'a' "Excellent" 'B' or 'b' "Very Good" 'C' or 'c' "Acceptable" 'T' or 't' "Try Again" anything else "Unrecognized Grade" tests: describe_grade('A') == "Excellent" describe_grade('B') == "Very Good" describe_grade('C') == "Acceptable" describe_grade('T') == "Try Again" describe_grade('a') == "Excellent" describe_grade('b') == "Very Good" describe_grade('c') == "Acceptable" describe_grade('t') == "Try Again" describe_grade('P') == "Unrecognized Grade" ===*/ string describe_grade(char letter_grade) { string grade_descr = ""; switch(letter_grade) { case 'A': case 'a': grade_descr = "Excellent"; break; case 'B': case 'b': grade_descr = "Very Good"; break; case 'C': case 'c': grade_descr = "Acceptable"; break; case 'T': case 't': grade_descr = "Try Again"; break; default: grade_descr = "Unrecognized Grade"; } return grade_descr; } /*--- interactive front end for describe_grade ---*/ int main() { char desired_grade; cout << "Enter a desired letter grade: "; cin >> desired_grade; cout << "The description for that grade is: " << describe_grade(desired_grade) << endl; return EXIT_SUCCESS; }