I have the program woking but it will not accept numbers. Below is the assignmen
ID: 3670243 • Letter: I
Question
I have the program woking but it will not accept numbers. Below is the assignment, my code, and the output. Please Help! Thanks.
20.5 C++: Checking for Palindrome Write a function isPalindrome() that checks if a word is a Palindrome or not. Allow the user to type a string to test for Palindrome. Test your program on the following strings: "Madam", "abba", "22", "67876", "444244", and "Racecar" Make sure that when determining whether a string is a palindrome, cases are ignored, that is, uppercase and lowercase letters are considered the same.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string input;
bool checkInput, isPalindrome;
isPalindrome = true;
do
{
checkInput = false;
cout << "Type a word to check for Palindrome: " << endl;
getline(cin, input);
for (unsigned int i = 0; i < input.size(); i++)
{
if (input[i] < 65 || input[i] > 90 && input[i] < 97 || input[i] > 122)
{
checkInput = true;
}
}
} while (checkInput);
for (unsigned int i = 0, j = input.size() - 1; i < input.size(); i++, j--)
{
if (input[i] != input[j] && input[i] + 32 != input[j] && input[i] - 32 != input[j])
{
isPalindrome = false;
}
}
if (isPalindrome)
{
cout << input <<" is a palindrome." << endl;
}
else
{
cout << input << " is not a palindrome." << endl;
}
return 0;
}
Compare output
1/1
Input
Madam
Your output
Type a word to check for Palindrome: Madam is a palindrome.
Compare output
1/1
Input
abBa
Your output
Type a word to check for Palindrome: abBa is a palindrome.
Compare output
0/1
Program timed out
Input
444244
Your output
Your program produced no output
Expected output
Type a word to check for Palindrome: 444244 is not a palindrome.
Compare output
1/1
Input
Racecar
Your output
Type a word to check for Palindrome: Racecar is a palindrome.
Unit test
0/1
Checking function isPalindrome()
Input
Madam
Your output
Type a word to check for Palindrome: Madam is a palindrome.
Explanation / Answer
#include <stdio.h>
#include <conio.h>
void main() {
char *a;
int i,len,flag=0;
clrscr();
printf(" ENTER A STRING: ");
gets(a);
len=strlen(a);
for (i=0;i<len;i++) {
if(a[i]==a[len-i-1])
flag=flag+1;
}
if(flag==len)
printf(" THE STRING IS PALINDROM"); else
printf(" THE STRING IS NOT PALINDROM");
getch();
}