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;
}
精彩评论