I am currently writing a Pig Latin program that simulates the pig latin language. I have gotten the program to read one word and covert it but now I need it to transform an entire sentence and I am stuck. I have no clue where to go from here, I just can't figure out how to read more than one word. Thanks for your help guys!
Code:#include <iostream> #include <string> using namespace std; bool isVowel(char ch); string rotate(string pStr); string pigLatinString(string pStr); int main() { string str; cout << "Enter a string: "; cin >> str; cout << endl; cout << "The Pig Latin form of " << str << " is: " << pigLatinString(str) << endl; return 0; } bool isVowel(char ch) { switch (ch) { case 'A': case 'E': case 'I': case 'O': case 'U': case 'Y': case 'a': case 'e': case 'i': case 'o': case 'u': case 'y': return true; default: return false; } } string rotate(string pStr) { string::size_type len = pStr.length(); string rStr; rStr = pStr.substr(1, len - 1) + pStr[0]; return rStr; } string pigLatinString(string pStr) { string::size_type len; bool foundVowel; string::size_type counter; if (isVowel(pStr[0])) pStr = pStr + "-way"; else { pStr = pStr + '-'; pStr = rotate(pStr); len = pStr.length(); foundVowel = false; for (counter = 1; counter < len - 1; counter++) if (isVowel(pStr[0])) { foundVowel = true; break; } else pStr = rotate(pStr); if (!foundVowel) pStr = pStr.substr(1, len) + "-way"; else pStr = pStr + "ay"; } return pStr; }



LinkBack URL
About LinkBacks


