1: //reverse_digits.cpp 2: //Displays each positive integer input with the digits reversed. 5: #include <iostream> 6: using namespace std; 9: void DescribeProgram(); 10: void GetPositiveIntegerFromUser(int& i); 11: int ReversedDigitsOf(int i); 14: int main() 15: { 16: DescribeProgram(); 18: int i; 19: GetPositiveIntegerFromUser(i); 20: while (i != 0) 21: { 22: if (i > 0) 23: cout << "The reverse of the integer " << i 24: << " is " << ReversedDigitsOf(i) << ".\n\n"; 25: else 26: cout << "Not a positive integer. Try again.\n"; 27: GetPositiveIntegerFromUser(i); 28: } 29: cout << endl; 30: } 34: void DescribeProgram() 35: //Pre: The cursor is at the left margin. 36: //Post: The program description has been displayed, 37: // preceded and followed by at least one blank line. 38: { 39: cout << "\nThis program gets a positive integer from the user, then " 40: "computes and outputs\na new integer which is the old one with " 41: "its digits reversed.\n\n"; 42: } 46: void GetPositiveIntegerFromUser(/* out */ int& i) 47: //Pre: none 48: //Post: "i" contains a positive integer entered by the user. 49: // The input stream "cin" is empty. 50: { 51: cout << "Enter a positive integer here, or 0 to quit: "; 52: cin >> i; cin.ignore(80, '\n'); cout << endl; 53: } 56: int ReversedDigitsOf(/* in */ int i) 57: //Pre: "i" has been initialized and contains a positive integer. 58: //Post: Function value returned is the integer containing the 59: // digits of "i" in reverse order. 60: { 61: int reverse = 0; //Contains no digits from "i" 62: while (i != 0) 63: { 64: reverse = 10*reverse + i%10; //Add last digit of "i" to "reverse" 65: i = i/10; //Remove last digit from "i" 66: } 67: return reverse; //Contains value of "i" with digits reversed 68: }