Code:
#include <stdio.h>
#include <string.h>
#define lengthstr 32
void replaceVowels(char str[]);
void replaceChars(char str[], char sChar, char rChar);
void expandString(char str[], char aChar[], int index);
void addAY(char str[]);
int findFO(char str[], char aChar);
void reorderString(char str[], char index0, char index1);
void main(void)
{
char myString[lengthstr];
printf("** Welcome to the Double Dutch game\n");
printf("Please enter a string: ");
scanf("%[^\n]s", myString);
printf("%s\n", myString);
replaceVowels(myString);
addAY(myString);
expandString(myString, " ", strlen(myString));
int index0 = findFO(myString, ' ');
myString[index0] = '+';
int index1 = findFO(myString, ' ');
myString[index1] = '+';
reorderString(myString, index0, index1);
replaceChars(myString, '+', ' ');
printf("Double Dutch translation: %s\n", myString);
}
void replaceVowels(char str[])
{
int i;
for(i = 0; str[i] != '\0'; i++)
{
if(str[i] == 'e'||str[i] == 'i'||str[i] == 'o'||str[i] == 'u')
{
str[i] = 'a';
}
}
}
void replaceChars(char str[], char sChar, char rChar)
{
int i = findFO(str, sChar);
while(i >= 0)
{
str[i] = rChar;
i = findFO(str, sChar);
}
}
void expandString(char str[], char aChar[], int index)
{
char str2[30];
strncpy(str2, str, index);
int length = strlen(str2);
length = length + strlen(aChar);
strcpy(str2+length, str+index);
strcpy(str, str2);
}
void addAY(char str[])
{
int i;
if(str[0] != 'a'&&str[0] != 'e'&&str[0] != 'o'&str[0] != 'u'&&str[0] != 'I')
{
expandString(str, "ay", 0);
}
i = findFO(str, ' ');
while(i >= 0)
{
str[i] = '+';
if(str[i+1] != 'a'&&str[i+1] != 'e'&&str[i+1] != 'o'&str[i+1] != 'u'&&str[i+1] != 'I')
{
expandString(str, "ay", i+1);
}
i = findFO(str, ' ');
}
replaceChars(str, '+', ' ');
}
int findFO(char str[], char aChar)
{
int p = 0;
int i = 0;
while(i < strlen(str))
{
if(str[i] == aChar)
{
p = 1;
break;
}
i++;
}
if(p == 1)
{
return i;
}
else
{
return -1;
}
}
void reorderString(char str[], char index0, char index1)
{
char string0[strlen(str)];
char string1[strlen(str)];
char string2[strlen(str)];
strncpy(string0, str, index0);
strncpy(string1, str+index0, index1-index0);
strncpy(string2, str+index1, strlen(str)-index1);
strcpy(str, string2);
strcat(str, string0);
strcat(str, string1);
}