All pastes #499684 Raw Edit

Something

public text v1 · immutable
·published 2007-05-21 05:39 UTC
rendered paste body
// Final Project
// Programmer: Michael William
// Editor used: Pad
// Compiler used: VC++ 2005 Professional
//
 
#include <iostream>
#include <fstream> 
#include <string>
#include <deque>
using namespace std;

struct mail
{
  string lineFromFile;
  string eMail;
};
 
int main()
{
  string File; 
  cout << "Enter the name of the file to be opened: ";
  getline(cin, File);
  ifstream fin;
  fin.open(File.c_str());
  if(!fin.good()) throw "I/O error";
 
  if(File.length() < 0)
    fin.open("fileContainingEmails.txt");
 
  deque<mail> myDeque;
 
  mail collect; 
  while(fin.good())
  {
    getline(fin, collect.lineFromFile);
    myDeque.push_back(collect);
  }
 
  int i;
  int j;
  collect.eMail;
  int countMail = 0;
  bool isValid = false;
  for(i = 0; i < myDeque.size(); i++)
  {
    for(j = 0; j < myDeque[i].lineFromFile.size(); j++) 
    {
      if(myDeque[i].lineFromFile[j] == '@')
      {
        int s = i - 1;
        if('A' >= myDeque[i].lineFromFile[s] && myDeque[i].lineFromFile[s] <= 'Z' || 'a' >= myDeque[i].lineFromFile[s] && myDeque[i].lineFromFile[s] <= 'z')isValid = true;
        if(isValid != true)break;
        if(s < 0)break;
        if(isValid == true)s--;
        collect.eMail = myDeque[i].lineFromFile[s];
        {
          if('0' >= myDeque[i].lineFromFile[s] || myDeque[i].lineFromFile[s] <= '9' || myDeque[i].lineFromFile[s] == '-' || myDeque[i].lineFromFile[s] == '_' || myDeque[i].lineFromFile[s] =='.' || myDeque[i].lineFromFile[s] == '+')isValid = true;
          if(isValid != true)break;
          if(s < 0)break;
          if(isValid == true)s--;
          collect.eMail = myDeque[i].lineFromFile[s];
          {
            int e = i + 1;
            if('A' >= myDeque[i].lineFromFile[e] && myDeque[i].lineFromFile[e] <= 'Z' || 'a' >= myDeque[i].lineFromFile[e] && myDeque[i].lineFromFile[e] <= 'z')isValid = true;
            if(isValid != true)break;
            if(e == myDeque[i].lineFromFile.length())break;
            if(isValid == true)e++;
            collect.eMail = myDeque[i].lineFromFile[s];
            {
              if(myDeque[i].lineFromFile[e] =='.')isValid = true;
              if(isValid != true)break;
              if(e == myDeque[i].lineFromFile.length())break;
              if(isValid == true)e++;
              collect.eMail = myDeque[i].lineFromFile[s];
              {
                cout << collect.eMail << endl;
                myDeque.push_back(collect);
                countMail++;
              }
            }
          }
        }
      }
    }
  }   
  fin.close();
 
  cout << "" << endl;
  cout << countMail << " email addresses where found! " << endl;
  cout << "" << endl;
 
  if(countMail > 0)
  {
    ofstream fout;
    string outFile;
    cout << "Where are these email addresses to be sent: ";
    getline(cin, outFile);
    fout.open(outFile.c_str());
    for(i = 0; i < countMail; i++)
    {
      fout << myDeque[i].eMail << endl;
    }
    
    if(outFile.length() < 0)
    fout.open("copyPasteMyEmails.txt");
    for(i = 0; i < countMail; i++)
    {
      fout << myDeque[i].eMail << endl;
    }
    fout.close();
  }
  
  return 0;
}