Advertisement
riggnaros

Phone Number Converter

Oct 4th, 2017
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.07 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <limits>
  4.  
  5. using namespace std;
  6.  
  7. void telephoneConverter();
  8. void repeatInput();
  9. int counter;
  10. char choice;
  11. char phoneNumber;
  12. char repeat;
  13.  
  14. int main()
  15.  
  16. {
  17.  
  18.     cout << "Enter Y/y to convert a telephone number from letters to digits.";
  19.  
  20.     cout << endl
  21.          << "Enter any other letter to terminate the program.";
  22.     cin >> choice;
  23.  
  24.     if (choice == 'Y' || choice == 'y') {
  25.  
  26.         telephoneConverter();
  27.         repeatInput();
  28.     }
  29.  
  30.     else if (choice != 'Y' || choice != 'y') {
  31.  
  32.         repeatInput();
  33.     }
  34.  
  35.     return 0;
  36. }
  37.  
  38. void telephoneConverter()
  39. {
  40.  
  41.     cout << "\nEnter a phone number in letters only."
  42.          << endl;
  43.  
  44.     for (counter = 0; counter < 7; counter++) {
  45.         cin >> phoneNumber;
  46.  
  47.         if (counter == 3)
  48.             cout << "-";
  49.  
  50.         if ((phoneNumber >= 'A' && phoneNumber <= 'Z')
  51.             || (phoneNumber >= 'a' && phoneNumber <= 'z'))
  52.             switch (phoneNumber) {
  53.             case 'A':
  54.             case 'a':
  55.             case 'B':
  56.             case 'b':
  57.             case 'C':
  58.             case 'c':
  59.                 cout << 2;
  60.                 break;
  61.             case 'D':
  62.             case 'd':
  63.             case 'E':
  64.             case 'e':
  65.             case 'F':
  66.             case 'f':
  67.                 cout << 3;
  68.                 break;
  69.             case 'G':
  70.             case 'g':
  71.             case 'H':
  72.             case 'h':
  73.             case 'I':
  74.             case 'i':
  75.                 cout << 4;
  76.                 break;
  77.  
  78.             case 'J':
  79.             case 'j':
  80.             case 'K':
  81.             case 'k':
  82.             case 'L':
  83.             case 'l':
  84.                 cout << 5;
  85.                 break;
  86.             case 'M':
  87.             case 'm':
  88.             case 'N':
  89.             case 'n':
  90.             case 'O':
  91.             case 'o':
  92.                 cout << 6;
  93.                 break;
  94.             case 'P':
  95.             case 'p':
  96.             case 'Q':
  97.             case 'q':
  98.             case 'R':
  99.             case 'r':
  100.             case 'S':
  101.             case 's':
  102.                 cout << 7;
  103.                 break;
  104.  
  105.             case 'T':
  106.             case 't':
  107.             case 'U':
  108.             case 'u':
  109.             case 'V':
  110.             case 'v':
  111.                 cout << 8;
  112.                 break;
  113.  
  114.             case 'W':
  115.             case 'w':
  116.             case 'X':
  117.             case 'x':
  118.             case 'Y':
  119.             case 'y':
  120.             case 'Z':
  121.             case 'z':
  122.                 cout << 9;
  123.                 break;
  124.             }
  125.     }
  126. };
  127.  
  128. void repeatInput()
  129. {
  130.     cout << endl
  131.          << "Would you like to enter a phone number: Y/N ";
  132.     cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
  133.  
  134.     cin >> repeat;
  135.     if (repeat == 'Y' || repeat == 'y') {
  136.  
  137.         telephoneConverter();
  138.         repeatInput();
  139.     }
  140.     if (repeat == 'N' || repeat == 'n') {
  141.         cout << "Have a good day.";
  142.     }
  143.     else {
  144.         cout << "Please enter a valid input: Y/N.";
  145.         repeatInput();
  146.     }
  147. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement