Hey! I have a program due tomorrow and I have been searching everywhere to find out how to fix this error. The program is to take sentence and translate them into pig latin. I can't tell if this program even computes it correctly until I can get it to run. PLEASE HELP!!!!
The error c.2062 for bool unexpected is lines:23, 24, 156, 163, 189
The error c.2062 for int unexpected is line: 27
The error c.2062 for void unexpected is line: 25
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
//Get user menu option.
option = string getMenuOption();
//Determine if will read from a file or from user input.
if (option == 1)
{
//Get sentence.
infile.open("Program5_Input.txt");
infile << getline(infile, sentence);
infile.close();
//Display options and validate.
do
{
cout << " Menu:\n";
cout << "================================\n";
cout << "[1] to process a file\n";
cout << "[2] to process a single sentence\n";
cout << "================================\n";
cout << "Your choice: ";
cin >> option;
} while (!(option == 1 || option == 2));
Hard to tell exactly where the errors are (it would be much nicer if you used [code] tags).
One of the reasons it is complaining is because on the function prototypes you have a : instead of a ; at the start of them so it is reading the rest of them incorrectly.
Check string getNextWord(string, int): near the top of your code.
Also when assigning specific values to a function first of all you don't need to put the function return type and second you just pass in the variable name, not the type + the variable.
Change lines like ansVowel = bool isVowel(char letter);
#include <iostream>
#include <string>
#include <fstream>
usingnamespace std;
//Globally declare variables.
string sentence;
//Functions.
int getMenuOption();
string translateLine (string);
string translateWord (string);
string getNextWord(string, int);
bool isVowel (char);
bool isPunctuation (char);
void splitWord (string, int, string &, string &);
int main()
{
int option;
ifstream infile;
ofstream outfile;
//Get user menu option.
option = string getMenuOption();
//Determine if will read from a file or from user input.
if (option == 1)
{
//Get sentence.
infile.open("Program5_Input.txt");
infile << getline(infile, sentence);
infile.close();
//Translate file.
string translateLine(string sentence);
//Place translation into outfile.
outfile.open("Program5_Output.txt");
outfile << sentence;
cout << "Your file has been processed.\n" << endl;
outfile.close();
}
else
{
//Get sentence.
cout << "Please enter your sentence:\n";
cin >> sentence;
cout << endl;
//Translate sentence(s).
string translateLine(string sentence);
//Display resuts.
cout << sentence << endl << endl;
}
system("pause");
return 0;
}
//Display Menu.
int getMenuOption()
{
int option;
//Display options and validate.
do
{
cout << " Menu:\n";
cout << "================================\n";
cout << "[1] to process a file\n";
cout << "[2] to process a single sentence\n";
cout << "================================\n";
cout << "Your choice: ";
cin >> option;
} while (!(option == 1 || option == 2));
return option;
}
//Translate sentence.
string translateLine(string sentence)
{
int i = 0, length = 0;
string pigLatin, word;
while (i <= sentence.length())
{
//Get next word.
word = string getNextWord(string sentence, int i);
//Find out how many characters are in i and increment i.
length = word.length();
i = i + length + 1;
//Translate word and add it to new sentence.
pigLatin += string translateWord(string word);
}
return pigLatin;
}
//Get the next word.
string getNextWord (string sentence, int i)
{
char letter = 'a', word;
//Find end of word.
while (sentence[i] != ' ')
{
letter = sentence[i];
word += letter;
i++;
}
return word;
}
//Translate word.
string translateWord(string word)
{
string holdPunct, front, end;
char letter;
int length, j = 0, k = 1;
bool ansVowel, ansPunct;
//Get word length.
length = word.length();
//Get first letter and check to see if it is a vowel.
while (j == 0)
{
ansVowel = isVowel(char letter);
}
//Get check for punctuation.
while (j <= length)
{
letter = word[j];
ansPunct = isPunctuation(char letter);
if (ansPunct == true)
holdPunct += letter;
j++;
}
//If vowel, finish translating word; else find first vowel.
if (ansVowel == true)
{
word += "way";
word += holdPunct;
}
else
{
ansVowel = false;
if (k == 'u')
{
letter = word[k];
void splitWord(string word, int k, string & end, string & front);
}
else
{
while (ansVowel == false)
{
letter = word[k];
ansVowel = isVowel(char letter);
k++;
}
void splitWord(string word, int k, string & end, string & front);
}
word = front + end + "ay";
word += holdPunct;
}
}
//Check for vowel.
bool isVowel(char letter)
{
letter = tolower(letter);
if (letter == 'a' || letter == 'e' || letter == 'i' || letter == 'o' || letter == 'u')
returntrue;
elsereturnfalse;
}
//Check for punctuation.
bool isPunctuation (char letter)
{
if (letter == '.' || letter == '?' || letter == '!' || letter == ',')
returntrue;
elsereturnfalse;
}
//Split word to add consonants to the end.
void splitWord(string word, int k, string & end, string & front)
{
int length = 0, i;
length = word.length();
for (i = 0; i <= k; i++)
end += word[i];
while (i <= length)
front = word[i];
}
#include <iostream>
#include <string>
#include <fstream>
usingnamespace std;
//Globally declare variables.
string sentence;
//Functions.
int getMenuOption();
string translateLine (string);
string translateWord (string);
string getNextWord(string, int);
bool isVowel (char);
bool isPunctuation (char);
void splitWord (string, int, string &, string &);
int main()
{
int option;
ifstream infile;
ofstream outfile;
//Get user menu option.
option = getMenuOption();
//Determine if will read from a file or from user input.
if (option == 1)
{
//Get sentence.
infile.open("Program5_Input.txt");
getline(infile, sentence);
infile.close();
//Translate file.
string translateLine(string sentence);
//Place translation into outfile.
outfile.open("Program5_Output.txt");
outfile << sentence;
cout << "Your file has been processed.\n" << endl;
outfile.close();
}
else
{
//Get sentence.
cout << "Please enter your sentence:\n";
cin >> sentence;
cout << endl;
//Translate sentence(s).
string translateLine(string sentence);
//Display resuts.
cout << sentence << endl << endl;
}
system("pause");
return 0;
}
//Display Menu.
int getMenuOption()
{
int option;
//Display options and validate.
do
{
cout << " Menu:\n";
cout << "================================\n";
cout << "[1] to process a file\n";
cout << "[2] to process a single sentence\n";
cout << "================================\n";
cout << "Your choice: ";
cin >> option;
} while (!(option == 1 || option == 2));
return option;
}
//Translate sentence.
string translateLine(string sentence)
{
int i = 0, length = 0;
string pigLatin, word;
while (i <= sentence.length())
{
//Get next word.
word = getNextWord(string sentence, int i);
//Find out how many characters are in i and increment i.
length = word.length();
i = i + length + 1;
//Translate word and add it to new sentence.
pigLatin += translateWord(string word);
}
return pigLatin;
}
//Get the next word.
string getNextWord (string sentence, int i)
{
char letter = 'a', word;
//Find end of word.
while (sentence[i] != ' ')
{
letter = sentence[i];
word += letter;
i++;
}
return word;
}
//Translate word.
string translateWord(string word)
{
string holdPunct, front, end;
char letter;
int length, j = 0, k = 1;
bool ansVowel, ansPunct;
//Get word length.
length = word.length();
//Get first letter and check to see if it is a vowel.
while (j == 0)
{
ansVowel = isVowel(char letter);
}
//Get check for punctuation.
while (j <= length)
{
letter = word[j];
ansPunct = isPunctuation(char letter);
if (ansPunct == true)
holdPunct += letter;
j++;
}
//If vowel, finish translating word; else find first vowel.
if (ansVowel == true)
{
word += "way";
word += holdPunct;
}
else
{
ansVowel = false;
if (k == 'u')
{
letter = word[k];
void splitWord(string word, int k, string & end, string & front);
}
else
{
while (ansVowel == false)
{
letter = word[k];
ansVowel = isVowel(char letter);
k++;
}
void splitWord(string word, int k, string & end, string & front);
}
word = front + end + "ay";
word += holdPunct;
}
}
//Check for vowel.
bool isVowel(char letter)
{
letter = tolower(letter);
if (letter == 'a' || letter == 'e' || letter == 'i' || letter == 'o' || letter == 'u')
returntrue;
elsereturnfalse;
}
//Check for punctuation.
bool isPunctuation (char letter)
{
if (letter == '.' || letter == '?' || letter == '!' || letter == ',')
returntrue;
elsereturnfalse;
}
//Split word to add consonants to the end.
void splitWord(string word, int k, string & end, string & front)
{
int length = 0, i;
length = word.length();
for (i = 0; i <= k; i++)
end += word[i];
while (i <= length)
front = word[i];
}
Wow that list of errors would of taken a while to go through, glad you solved some of them~
You are still passing values into functions incorrectly and calling functions incorrectly. Stuff like lines 37/53 should be translateLine(sentence); not string translateLine(string sentence);
Go through all of your function calls and make sure you are just passing in the variable name, and not the data type of it (there are quite a few, including string,int,char). That will get rid most of the errors.
Also your string getNextWord (string sentence, int i) function is meant to return a string but it's returning a char right now (change the variable 'word' in the function to a string?).
Finally string translateWord(string word) is meant to return a string (according to the code) but isn't returning anything.
It would be a good idea to try and understand more of the errors the IDE gives you, it makes coding much easier in the long run.
Thank you for you help. I was actually able to find all of those before I saw your post. But now its running, just not completing the task properly. Thanks again!