1: /** @file reverse_line.cpp 2: Reads in a line of input and then writes out 3: the line with all characters in reverse order. 4: */ 6: #include <iostream> 7: using namespace std; 9: #include "utilities.h" 10: using Scobey::Pause; 11: using Scobey::userSaysYes; 13: void ReadRestOfCharsAndWriteInReverse() 14: /**< 15: Read a string of characters from an input line and then write 16: those characters out in reverse. 17: @return Nothing. 18: @pre The standard input stream is empty. 19: @post All characters entered by the user, up to the first newline 20: character, have been read in and written out in reverse order. 21: */ 22: { 23: char ch; 25: cin.get(ch); 26: if (ch == '\n') 27: ; //Stop. That is, do nothing, since you're finished. 28: else 29: { 30: ReadRestOfCharsAndWriteInReverse(); 31: cout << ch; 32: } 33: } 35: int main() 36: { 37: cout << "\nThis program reads a sentence and " 38: "then writes it out in reverse order.\n"; 39: Pause(); 41: do 42: { 43: cout << "Enter a sentence on the following line " 44: "and press Enter:\n"; 45: ReadRestOfCharsAndWriteInReverse(); 46: cout << "\n\n"; 47: } 48: while (userSaysYes("Do it again?")); 49: }