Hi. I am a beginner in C++. I have this assignment. I've spent about a whole day completing this assignment but i don't know how to do that.

Here is my assignment question:

The user will first enter the file name to be processed. The program can do the following 5 tasks:
1. Count the number of words
2. Count the number of alphabets (without punctuation marks)
3. Count number of sentences.
4. Count the frequency of each vowel.
5. Count frequency of the following three words individually: FAST, computer and engineering
There should be a proper menu through which the user can select the desired task. The program should
continue until the user asks to terminate it.

Here is what i have done so far:
#include <iostream>
#include <cstring>
#include <fstream>
#include <cstdlib>

using namespace std;



int main(void)
{
int opt=0; //option number
ifstream fin;
string filename;

cout << "Welcome\n" << endl;
cout << "This programe will analyze the file content &" << endl;
cout << "compute the contents you want of the file you input.\n\n\n\n\n" << endl;
system("pause");
system("cls");

//Getting the input file and openning it
cout << "Enter input data file name:" << endl;
cin >> filename;
cout << endl;

fin.open(filename.c_str()); // Convert to C-string and open it.

if (!fin) // Will fail if file didn't exist.
{
cout << "Unable to open " << filename << endl;
cin.get();
system("cls");
}

while (opt != 'q')
{
cout << "Choose one of the following tasks (1-5): " << endl << endl;
cout << "1- Count the number of words" << endl;
cout << "2- Count the number of alphabets (without punctuation marks)." << endl;
cout << "3- Count the number of sentences" << endl;
cout << "4- Count the frequency of each vowel" << endl;
cout << "5- Count frequency of the following three words individually: FAST, computer" << endl;
cout << " and engineering" << endl;
cout << "To quit, enter q" << endl;

cin >> opt;
cout << endl;



char next;
int alphabets = 0;
int words = 0;
int sentences = 0;
int vowel_a = 0;
int vowel_e = 0;
int vowel_i = 0;
int vowel_o = 0;
int vowel_u = 0;
int f = 0; //fast
int comp = 0; //computer
int eng = 0; //engineering


if (opt == 1)
{
while((next = fin.get()) != EOF)
{
if(isspace(next)) //calculate total numbers of words
words++;
}

cout << "Total Number of Words: " << words << endl << endl;
}

if (opt == 2)
{
while((next = fin.get()) != EOF)
{
if(isalpha(next)) //calculate total numbers of alphabets
alphabets++;
}

cout << "Total Number of Alphabets: " << alphabets << endl << endl;
}

if (opt == 3)
{
while((next = fin.get()) != EOF)
{
if(next == '.' || next == '!' || next == '?') //calculate total numbers of sentences
sentences++;
}

cout << "Total Number of Sentences: " << sentences << endl << endl;
}

if (opt == 4)
{
while((next = fin.get()) != EOF)
{
if(next == 'a' || next == 'A') //calculate total numbers of 'a' alphabets
vowel_a++;

if(next == 'e' || next == 'E') //calculate total numbers of 'e' alphabets
vowel_e++;

if(next == 'i' || next == 'I') //calculate total numbers of 'i' alphabets
vowel_i++;

if(next == 'o' || next == 'O') //calculate total numbers of 'o' alphabets
vowel_o++;

if(next == 'u' || next == 'U') //calculate total numbers of 'u' alphabets
vowel_u++;


}

cout << "Total Number of vowel 'a': " << vowel_a << endl;
cout << "Total Number of vowel 'e': " << vowel_e << endl;
cout << "Total Number of vowel 'i': " << vowel_i << endl;
cout << "Total Number of vowel 'o': " << vowel_o << endl;
cout << "Total Number of vowel 'u': " << vowel_u << endl;
}

if (opt == 5)
{
while ((fin.get ()) != EOF)
{
string word [50];

for (int i=0; i<50; i++)
fin >> word[i];

for (int i=0; i<50; i++)
{
//cout << word [i] << endl;
/*if (word[i] == 'FAST')
f++;

if (word [i] == 'computer')
comp++

if (word [i] == 'engineering')
eng++*/
}

cout << "The word FAST is repeated " << f << " times" << endl;
cout << "The word computer is repeated " << comp << " times" << endl;
cout << "The word engineering is repeated " << eng << " times" << endl << endl;
}
}
}
return 0;
}



Sorry the code is long.

There are a few problems.
1- When I enter option 'q', an infinite loop starts.
2- The first time, the program gives the correct value. After that, each time it gives answer ZERO.
3- The last part is not working. I experimented something which failed. I don't know how to do the last part.

i would really appreciate any kind of help. I don't want to get another F in programming assignment! :/