Register FAQ / Rules Forum Spy Search Today's Posts Mark Forums Read
Go Back   MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

 
 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old Jan 14, 2013, 07:00 AM   #1
mnmn
macrumors newbie
 
Join Date: Jan 2013
hep me please

in this code i have to what the comment said i did but i got error can you help me.....
this is my code
Code:
#include "ReadWords.h"

/**
 * Constructor. Opens the file with the given filename.
 * Program exits with an error message if the file does not exist.
 * @param - filename, a C string naming the file to read.
 * After a successful open, the constructor reads the first of the strings,
 * and initialises the eoffound flag.
 */
ReadWords::ReadWords(char *filename)
{   wordfile.open(filename);//open file
    if (!wordfile)
    {   cout << "cannot open " << filename << endl;
        exit(1);
    }
    wordfile >> nextword;
    eoffound = false;
}

/**
 * Closes the file.
 */
void ReadWords::close()
{   wordfile.close();
}

/**
 * Returns true if there is a further word in the file, false if we have reached the
 * end of file.
 * @return - bool - !eof
 * eoffound will have been set by getNextWord
 */
bool ReadWords::isNextWord()
{   return !eoffound;
}

/**
 * Eliminates punctuations at the beginning and the end if any.
 * @param - string to be fixed.
 * @return - string fixed.
 */
string ReadWords::fix(string word)
{   string s=word;
    int len = s.size();
    string answer = "";

    bool t = false;
    for (int i=0; i<len; ++i)
    {   if(isalnum(s[i])) //find the first alphanumeric character and set the boolean t as true
            t=true;

        if(t)
            if(isalnum(s[i]))
                answer += s[i];
            else if(i!=0 && i!=len-1) // if it is not the first and the last, just store it.
               answer += s[i];
    }

    if(answer.size()>0) //remove punctuations at the end of a word, i.e., "sing...."==>>"sing"
    {   int length = answer.size();
        while(!isalnum(answer[--length]))
            answer.erase(length,1); //remove the last character if it is not alphanumeric
    }

    return answer;
}

/**
 * Returns a string, being the next word in the file.
 * @return - string, fixed nextword.
 */
// note that this function could return an empty string
// if the "word" is a sequence of non-alphanumeric characters the fix function will remove everything!

string ReadWords::getNextWord()
{    string word = nextword;
     wordfile >> nextword;

     if(wordfile.eof()) //nextword doesn't exist.
         eoffound=true;

     return  fix(word);
}

/**
 * Returns a string, being the next word in the file that satisfies the filter.
 * @return - string - next word that satisfies the filter, or an empty string if there is no such word
 */
string ReadWords::getNextFilteredWord()
{
    string word = nextword;
    // you have to write the body for this
    // it should loop, calling getNextWord repeatedly until either
    while(1)
    {
      getNextWord();
      //   (a) the word returned by getNextWord satisfies the filter - in which case the word should be returned
      if (fix(word))
      {
          return word;
          }
          // or
    //   (b) the value returned by isNextWord() becomes false - in which case an empty string should be returned
          else if (!eoffound)
          {
              return "";
              }
     }
}


----------

i got error in string ReadWords::getNextFilteredWord() function ???
mnmn is offline   0 Reply With Quote

 
MacRumors Forums > Apple Systems and Services > Programming > Mac Programming

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 09:08 PM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps

Mobile Version | Fixed | Fluid | Fluid HD
Copyright 2002-2013, MacRumors.com, LLC