Flesch Program C++
我正试图编写一个程序,通过计算程序中的单词,句子和音节来计算文本文件(Flesch)的分数,现在我遇到了bool函数的麻烦在每个代码的写入代码后声明。这是我得到的: Flesch Program C++
#include <iostream>
#include <fstream>
#include <cctype>
using namespace std;
int numSentences, numWords, numSyllables; //for alphabet A-Z, a-z....unexpected unqualified0id before 'int'
int isalpha(char isWordStarting);
bool inSentence, inWord, inSyllable;//
inSyllable(char isSyllableStarting);{//error: expected constructor, destructor, or type conversion before ; token....
if (numSyllables = 'a','e','i','o','u'){//error: unqualified id before '{' token => inSyllable function
return true;}
inSyllable(char isSyllableEnding);{
else {
return false;
}
inWord(char isWordStarting);{
if(numWords = isalpha(char isWordStarting)){
return true;}
inWord(char isWordEnding);{
else {
return false;
}
inSentence(char isSentenceStarting);{
if(numSentences = '.',';',':','!','?'){
return true;
}
inSentence(char isSentenceEnding);{
else{
return false;
}
int main (int argc[1], char*argv[]) {
char c;
ifstream infile;
infile.open(agrv[1]);
while (not (infile.eof());{ //start of loop
infile.get(c);
cout.put(c);
for(int numSentences=0; numSentences < argc; numSentences++) { //Sentences
cout << numSentences << ": " << argv[numSentences] << endl;
}
for(int numWords=0; numWords < argc; numWords++){ //Words
cout << numWords << ": " << argv[numWords] << endl;
}
for(int numSyllables=0; numSyllables < argc; numSyllables++) {//Syllalbles
cout << numSyllables << ": " << argv[numSyllables] << endl;
}
}
infile.close(); //close file
return 0;
}
任何想法?我将注释放在我遇到问题的旁边。
上的第一个错误行:)
取而代之的函数定义中删除分号,则分号使它的尝试函数调用后面括号这没有任何意义 - 它混淆编译器。
inSyllable(char isSyllableStarting);{ //This one here.
另请注意,它应该有一个返回类型。它寻找一个构造函数,因为你的函数定义没有。
多个错误:您有更多的错在这里远远不止这些。例如,如果你的空间你当前的代码以及在错误的位置,你会得到这个烂摊子:
inSyllable(char isSyllableStarting);
{
if (numSyllables = 'a','e', 'i', 'o', 'u'){
return true;
}
inSyllable(char isSyllableEnding);
{
else{
return false;
}
所以,这里的问题的列表:
- 分号不应该有在功能大括号打开前的第一行。
- 你的if后面跟着你的函数的递归调用,而不是其他错误的下一个。
- 你的大括号不加起来 - 这个函数永远不会从上面的代码结束。
他也应该检查他的if和else。似乎是非常错误的。 – stardust 2013-05-09 20:01:41
是的,这里有很多令人困惑的事情:/至少会出现下一个错误。 – 2013-05-09 20:02:48
@名为“非常错误”是相当慷慨的。 – 2013-05-09 20:05:27
'if(numSyllables ='a','e','i','o','u')'这不符合你的想法...... – 2013-05-09 20:04:56
根据你的问题,我建议通过一个或两个基本的C++教程来更好地理解语法。谷歌的几个点击:http://cplusplus.com/doc/tutorial/和http://www.cprogramming.com/tutorial/c++-tutorial.html。然后尝试一些简单的程序,然后按照自己的方式进行。 – jerry 2013-05-09 20:19:33