benni miles
Mitglied
Hi,
habe hier ein kleines Script das überprüft ob das eingegebene Wort ein Palindrom ist oder eben nicht. Funktioniert soweit auch nur wenn ich nocheinmal ein Wort eingeben will sprich die do while Schleife nochmal durchläuft, wird getline ignoriert und er nimmt die Eingabe die beim ersten mal getätigt wurde. Kann mir wer sagen warum das so ist.
lg
habe hier ein kleines Script das überprüft ob das eingegebene Wort ein Palindrom ist oder eben nicht. Funktioniert soweit auch nur wenn ich nocheinmal ein Wort eingeben will sprich die do while Schleife nochmal durchläuft, wird getline ignoriert und er nimmt die Eingabe die beim ersten mal getätigt wurde. Kann mir wer sagen warum das so ist.
Code:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string input, checkstring;
int max;
bool check = true;
char button = 'j';
do
{
getline(cin, input);
checkstring = input;
max = input.length() - 1;
for(int i = 0, j = max; (i <= max) && check; ++i, --j)
{
if(input[i] != checkstring[j])
check = false;
}
if(check)
cout << "Es handelt sich um ein Palindrom" << endl;
else
cout << "Kein Palindrom" << endl;
cout << "Noch einmal überprüfen <j> <n>: ";
cin.get(button);
}
while(button == 'j' || button == 'J');
return 0;
}
lg
Zuletzt bearbeitet: