开发者

How can I simplify my C++ code to reverse characters?

Hello I have this program which reverses letters I enter. I'm using iostream. Can I do it another way and replace iostream and cin.getline with cin >> X?

My code:

 //Header Files
 #include<iostream>
 #include<string>
 using namespace std;

 //Recursive Function definition which is taking a reference
 //type of input stream parameter.
 void ReversePrint(istream&);

 //Main Function
 int main()
 {
  //Printing
  cout<<"Pl开发者_开发问答ease enter a series of letters followed by a period '.' : ";

  //Calling Recursive Function
  ReversePrint(cin);

  cout<<endl<<endl;
  return 0;

 }

 //Recursive Function implementation which is taking a
 //reference type of input stream parameter.
 //After calling this function several times, a stage 
 //will come when the last function call will be returned
 //After that the last character will be printed first and then so on. 
 void ReversePrint(istream& cin)
 {
  char c;
  //Will retrieve a single character from input stream
  cin.get(c);

  //if the character is either . or enter key i.e '\n' then
  //the function will return
  if(c=='.' || c=='\n')
  {
   cout<<endl;
   return;
  }

  //Call the Recursive function again along with the
  //input stream as  paramter.
  ReversePrint(cin);

  //Print the character c on the screen.
  cout<<c;
 }


below function gets line from standard input, reverses it and writes to stdout

#include <algorithm>
#include <string>
#include <iostream>

int main()
{
    std::string line;
    std::getline( std::cin, line );
    std::reverse( line.begin(), line.end() );
    std::cout << line << std::endl;
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜