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; 
      } 

任何想法?我将注释放在我遇到问题的旁边。

+1

'if(numSyllables ='a','e','i','o','u')'这不符合你的想法...... – 2013-05-09 20:04:56

+0

根据你的问题,我建议通过一个或两个基本的C++教程来更好地理解语法。谷歌的几个点击:http://cplusplus.com/doc/tutorial/和http://www.cprogramming.com/tutorial/c++-tutorial.html。然后尝试一些简单的程序,然后按照自己的方式进行。 – jerry 2013-05-09 20:19:33

上的第一个错误行:)

取而代之的函数定义中删除分号,则分号使它的尝试函数调用后面括号这没有任何意义 - 它混淆编译器。

inSyllable(char isSyllableStarting);{ //This one here. 

另请注意,它应该有一个返回类型。它寻找一个构造函数,因为你的函数定义没有。


多个错误:您有更多的错在这里远远不止这些。例如,如果你的空间你当前的代码以及在错误的位置,你会得到这个烂摊子:

inSyllable(char isSyllableStarting); 
{ 
    if (numSyllables = 'a','e', 'i', 'o', 'u'){ 
     return true; 
    } 
    inSyllable(char isSyllableEnding); 
    { 
     else{ 
      return false; 
     } 

所以,这里的问题的列表:

  1. 分号不应该有在功能大括号打开前的第一行。
  2. 你的if后面跟着你的函数的递归调用,而不是其他错误的下一个。
  3. 你的大括号不加起来 - 这个函数永远不会从上面的代码结束。
+0

他也应该检查他的if和else。似乎是非常错误的。 – stardust 2013-05-09 20:01:41

+0

是的,这里有很多令人困惑的事情:/至少会出现下一个错误。 – 2013-05-09 20:02:48

+0

@名为“非常错误”是相当慷慨的。 – 2013-05-09 20:05:27