#include "indexx.hpp"
#include "bag.hpp"
#include <iostream>
#include <fstream.h>
#include <iomanip.h>

struct job
{
  char dept[25];
  int jCode;
  char jTitle[50];
  int bCode;
  char bTitle[50];
};

int main()
{
  fstream fin;
  fin.open("datafor3358.txt", ios::in | ios::nocreate);
  if(fin.fail())
    cout << "Error opening input file";
  bag<job> b;
  indexx<int,job,2000> i;
  job temp;
  job *lookupptr=0;
  while(!fin.eof())
  {
    fin.get();
    temp.dept[0] = '\n';
    fin.get( temp.dept, 25, '"' );
    fin.get();
    fin >> temp.jCode;
    fin >> ws;
    fin.get();
    fin.get( temp.jTitle, 50, '"' );
    fin.get();
    fin >> temp.bCode;
    fin >> ws;
    fin.get();
    fin.get( temp.bTitle, 50, '"' );
    fin.get();
    fin >> ws;
    i.insert(temp.bCode, b.insert((job)(temp)));
  }
  fin.close();
  int q=0;
  int bc;
  int choice;
  while( 1 )
  {
    cout << "Please enter a Building Code: ";
    cin >> bc;
    lookupptr = i.lookup(bc);
    if( lookupptr != 0 )
    {
      cout << setw(15) << "Department"
           << setw(6) << " JCode"
           << setw(30) << " JobTitle"
           << setw(6) << " BCode"
           << setw(33) << " BuildingName"
           << endl;
      while( lookupptr != NULL )
      {
        temp = *lookupptr;
        cout << " " << setw(14) <<temp.dept
             << " " << setw(5) << temp.jCode
             << " " << setw(29) << temp.jTitle
             << " " << setw(5) << temp.bCode
             << " " << setw(32) << temp.bTitle
             << endl;
        lookupptr = i.next(bc);
      }  
    }
  cout << "1) Enter a Building Code" << endl
       << "2) Quit" << endl;
  cin >> choice;
  if( choice != 1 )
    return(EXIT_SUCCESS);
  }
 
}
  
