Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MyBag
- {
- private:
- int nLines;
- std::string *lineArray;
- void ResizeArray(int newLength);
- public:
- MyBag();
- int size();
- void add (std::string line);
- void lineNum (int index);
- void lineSearch (std::string key);
- };
- MyBag::MyBag()
- {
- nLines = 0;
- lineArray = new std::string[0] ();
- }
- void MyBag::ResizeArray(int newLength)
- {
- std::string *newArray = new std::string[newLength];
- //create new array with new length
- for (int nIndex=0; nIndex < nLines; nIndex++)
- {
- newArray[nIndex] = lineArray[nIndex];
- //copy the old array into the new array
- }
- delete[] lineArray; //delete the old array
- lineArray = newArray; //point the old array to the new array
- nLines = newLength; //set new array size
- }
- void MyBag::add(std::string line)
- {
- ResizeArray(nLines+1); //add one to the array size
- lineArray[nLines] = line; //add the new line to the now extended array
- nLines++;
- }
- int MyBag::size()
- {
- return nLines;
- //return size of array
- }
- void MyBag::lineNum (int index)
- {
- std::cout << lineArray[index-1] << std::endl;
- //return current array index
- }
- void MyBag::lineSearch (std::string key)
- {
- int counter = 0;
- for (int n=nLines-1; n>0; n--)
- {
- if (lineArray[n].find(key) != std::string::npos)
- {
- std::cout << lineArray[n] << std::endl;
- counter++;
- }
- }
- if (counter == 0)
- {
- std::cout << "No matching lines" << std::endl;
- }
- //search for a specific string within a line
- }
- /*
- * weblogclient.cpp
- *
- *
- */
- #include <iostream>
- #include <fstream>
- #include <cassert>
- #include <string>
- #include "dynamic_array_header.h"
- #include "using_vectors_header.h"
- using namespace std;
- void getData(MyBag& webLog);
- void printResults(MyBag& webLog);
- int main()
- {
- MyBag webLog;
- getData(webLog);
- printResults(webLog);
- return 0;
- }
- //********************************************************************
- void getData(MyBag& webLog)
- // This function gets the data from a file.
- {
- ifstream inFile;
- string webLine;
- inFile.open("weblog_medium.txt");
- assert(inFile);
- while (getline(inFile, webLine))
- {
- webLog.add(webLine);
- std::cout << webLine << std::endl;
- }
- inFile.close();
- inFile.clear();
- }
- //********************************************************************
- void printResults(MyBag& webLog)
- {
- cout << "There were " << webLog.size()
- << " total page requests." << endl << endl;
- cout << "Line number 5: \n";
- webLog.lineNum(5);
- cout << "Search for IP 24.138.48.78: \n";
- webLog.lineSearch("24.138.48.78");
- cout << "Search for IP 24.138.48.79: \n";
- webLog.lineSearch("24.138.48.79");
- }
Advertisement
Add Comment
Please, Sign In to add comment