#include <stdio.h>
// Loop With Counter
int stringLength(char *str)
{
int len = 0;
while (str[len] != '\0')
{
len++;
}
return len;
}
// Loop And Swap The Values Using Temp
void stringReverse(char *str)
{
int len = stringLength(str);
int i, j;
char temp;
for (i = 0, j = len - 1; i < j; i++, j--)
{
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
// Run Two Loops And Check
void stringConcatenate(char *dest, char *src)
{
int i = 0, j = 0;
while (dest[i] != '\0')
{
i++;
}
while (src[j] != '\0')
{
dest[i] = src[j];
i++;
j++;
}
dest[i] = '\0';
}
// Search Each With A loop
int stringCompare(char *str1, char *str2)
{
int i = 0;
while (str1[i] != '\0' && str2[i] != '\0')
{
if (str1[i] != str2[i])
{
return 0;
}
i++;
}
return (str1[i] == '\0' && str2[i] == '\0');
}
// Linear Search Loop
int searchCharacter(char *str, char ch)
{
int i = 0;
while (str[i] != '\0')
{
if (str[i] == ch)
{
return i;
}
i++;
}
return -1;
}
int main()
{
int choice;
char str1[100], str2[100];
char ch;
int index;
do
{
printf("\n\n*** String Operations Menu ***\n");
printf("1. String Length\n");
printf("2. String Reverse\n");
printf("3. String Concatenation\n");
printf("4. String Compare\n");
printf("5. Character Search\n");
printf("6. Exit\n");
printf("Enter Your Choice (1 - 6): ");
scanf("%d", &choice);
switch (choice)
{
case 1:
printf("Enter A String : ");
scanf("%s", str1);
printf("The Length Of String : %d\n", stringLength(str1));
break;
case 2:
printf("Enter String To Reverse : ");
scanf("%s", str1);
stringReverse(str1);
printf("Reversed String : %s\n", str1);
break;
case 3:
printf("Enter First String : ");
scanf("%s", str1);
printf("Enter Second String : ");
scanf("%s", str2);
stringConcatenate(str1, str2);
printf("Concatenated String : %s\n", str1);
break;
case 4:
printf("Enter First String : ");
scanf("%s", str1);
printf("Enter Second String : ");
scanf("%s", str2);
if (stringCompare(str1, str2))
{
printf("The Stings Are Equal.\n");
}
else
{
printf("The Strings Are Not Euqal\n");
}
break;
case 5:
printf("Enter A String : ");
scanf("%s", str1);
printf("Enter A Character To Search : ");
scanf(" %c", &ch);
index = searchCharacter(str1, ch);
if (index != -1)
{
printf("Character '%c' Found At %d\n", ch, index);
}
else
{
printf("Character '%c' Not Found\n", ch);
}
break;
case 6:
printf("Exiting Program\n");
break;
default:
printf("Invalid Choise\n");
}
} while (choice != 6);
return 0;
}