-1

I have while statement here that says if what user input is from A to Z show the corresponding telephone digit, else the if they enter anything but the letters A-Z the program exit. how can i set my expression to say A-Z instead of typing multiple || statement for every letter. i know there is a library that lets you select A-Z but i forgot the name.

P.S i also want to enable the user to select uppercase of these letter and still get result.

sorry for bad formatting of the while. should scroll left and right to see complete Thanks

         while (letter == 'a' || letter == 'b' || letter == 'c' || letter == 'd' ||
                 letter == 'e' || letter == 'f' || letter == 'g' || letter == 'h' || 
                letter == 'i' ||  letter == 'j' || letter == 'k' || letter == 'l' || 
 letter == 'm' || 
                letter == 'n' || letter == 'o' || letter == 'p' || letter == 'q' || letter == 
                'r' || letter == 's' || letter == 't' || letter == 'u' || letter == 'v' || 
                letter == 'w' || letter == 'x' || letter == 'y' || letter == 'z' )                              
                            {                                                  //Line 14
                                cout << "Letter: " << letter;                  //Line 15
                                cout << ", Corresponding telephone digit: ";   //Line 16

                        num = static_cast<int>(letter)
                        - static_cast<int>('A');                  //Line 17

                        if (0 <= num && num < 26)                      //Line 18
                        {                                              //Line 19
                            digit = (num / 3) + 2;                     //Line 20

                            if (((num / 3 == 6 ) || (num / 3 == 7))    //Line 21
                                && (num % 3 == 0))                   //Line 22
                                digit = digit - 1;                     //Line 23

                            if (digit > 9)                             //Line 24
                                digit = 9;                             //Line 25

                            cout << digit << endl;                     //Line 26
                        }                                              //Line 27
                        else                                           //Line 28
                            cout << "Invalid input." << endl;          //Line 29

                        cout << "\nEnter another uppercase "
                        << "letter to find its corresponding "
                        << "telephone digit." << endl;            //Line 30
                        cout << "To stop the program enter #."
                        << endl;                                  //Line 31
Ali RJ
  • 149
  • 3
  • 11

1 Answers1

1

Use std::isalpha

#include <cctype> 
//...
while (std::isalpha(letter))
PaulMcKenzie
  • 34,698
  • 4
  • 24
  • 45