atticusr5 0 Junior Poster

hey everyone

so for my class in c++ we were asked to implement a linked list in an old program. in the old code i had two classes, and the point of the new code was to take the old code and implement a linked list.
I honestly have no clue where to go with this so any advice would be helpful.

here is the old and new code

OLD CODE

//Assignment #6 due 2-8-2010
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
//global declarations
typedef char Name_t[15];
typedef fstream Infile_t;
typedef fstream Outfile_t;
typedef char Filename_t[50];
//*********************************************************************************************************
//classes
class cAccount
{
	private:
		int accountID;
		Name_t accountName;//(last,first)
		float accountBal;
	public:
		cAccount();
		int get_accountID(int &accountID)
		{ accountID=this->accountID; return accountID;};
		void read(Infile_t &Infile);
		void print(Outfile_t &Outfile);
		void display();
};//end of cAccount
class cAccountList
{
	private:
		static const int MAXARRAYSIZE=51;
		int counter;
		typedef cAccount AccountArray[MAXARRAYSIZE];
		AccountArray AccountList;
	public:
		cAccountList();
		void load_data(Infile_t &Infile);
		void print_to_outfile(Outfile_t &Outfile);
		void print_to_screen();
		void sort_by_ID();
		bool search();
};//end of cAccountList
//*********************************************************************************************************
//class cAccount functions
cAccount::cAccount()
{
	accountID=0;
	accountBal=0;
};//default constructor
void cAccount::read(Infile_t &Infile)
{ Infile>>accountID>>accountName>>accountBal; };
//end of cAccount::Read
void cAccount::print(Outfile_t &Outfile)
{ 
	Outfile<<" "<<accountID<<"	"<<accountName<<"	$"<<accountBal<<endl;
	Outfile<<"_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_"<<endl;
};//end of print
void cAccount::display()
{
	cout<<" "<<accountID<<"		"<<accountName<<"	$"<<accountBal<<endl;
	cout<<"***********************************************************"<<endl;
};//end of display
//*********************************************************************************************************
//class cAccountList functions  
cAccountList::cAccountList()
{ counter=0; };//default constructors
void cAccountList::load_data(Infile_t &Infile)
{
	Filename_t Filename;
	cout<<"BEGINING PROCESS......."<<endl<<endl;
	cout<<"Please enter the name of the datafile to be used:"<<endl;
	cin>>Filename;
	Infile.open(Filename,ios::in);
	AccountList[counter].read(Infile);
	while(!Infile.eof())
	{
		counter=counter+1;
		AccountList[counter].read(Infile);
	}//end while
	Infile.close();
	cout<<"Datafile read....SUCCESS!"<<endl;
};//end of read_data
void cAccountList::print_to_outfile(Outfile_t &Outfile)
{
	Filename_t Filename;
	cout<<"Please enter the name of the output file:"<<endl;
	cin>>Filename;
	Outfile.open(Filename,ios::out);
	Outfile<<"*************************************************************************"<<endl;
	Outfile<<" "<<"ACCOUNT_ID#"<<"		"<<"ACCOUNT_NAME"<<"	"<<"ACCOUNT_BALANCE"<<endl;
	Outfile<<"*************************************************************************"<<endl<<endl;
	for(int I=0; I<counter; I++)
	{
		AccountList[I].print(Outfile);
	}//end for
	Outfile.close();
	cout<<"Outfile write...SUCCESS!"<<endl<<endl;
};//end print_to_outfile
void cAccountList::print_to_screen()
{
	int choice;
	cout<<"Would you like to preview your output file? (Y/N)"<<endl;
	cout<<"Enter '1' for yes or '2' for no"<<endl;
	cin>>choice;
	if(choice == 1)
	{
		cout<<"Generating preview of output....."<<endl<<endl;
		cout<<"********************************************************************"<<endl;
		cout<<" "<<"ACCOUNT_ID#"<<"	"<<"ACCOUNT_NAME"<<"	"<<"ACCOUNT_BALANCE"<<endl;
		cout<<"********************************************************************"<<endl<<endl;
		for(int I=0; I<counter; I++)
		{
			AccountList[I].display();
		}//end for
	}//end if
	else
	{ cout<<"Very well...MOVING TO NEXT PROCESS"<<endl;}
};//end print_to_screen
void cAccountList::sort_by_ID()
{
	int I,Pass;
	int accountID;
	AccountArray temp;
	for(Pass=1; Pass<counter-1; Pass++)
	{
		for(I=0; I<counter-1; I++)
		{
		if(AccountList[I].get_accountID(accountID) > AccountList[I+1].get_accountID(accountID))
		{
			temp[I]=AccountList[I];
			AccountList[I]=AccountList[I+1];
			AccountList[I+1]=temp[I];
		}//end if
		}//end inside for
	}//end outside for
};//end sort_by_ID
bool cAccountList::search()
{
	bool Found=false;
	int I=0;
	int accountID;
	int searchID=0;
	Name_t searchName;
	Name_t accountName;
	int choice;
	cout<<"Would you like to search for a record at this time? (Y/N)"<<endl;
	cout<<"Enter '1' for yes or '2' for no"<<endl;
	cin>>choice;
	while(choice==1)
	{
		cout<<"Please enter the 5 digit ID number:"<<endl;
		cout<<"If the record is not found you will be asked if you would like another search."<<endl;
		cin>>searchID;
		while((!Found)&&(I<counter))
		{
			if(AccountList[I].get_accountID(accountID)!=searchID)
			{ I=I+1;}//end if
			else if (AccountList[I].get_accountID(accountID)==searchID)
			{	Found=true;
			  	cout<<"**************************************************************"<<endl;
			  	cout<<" "<<"ACCOUNT_ID#"<<" "<<"ACCOUNT_NAME"<<" "<<"ACCOUNT_BALANCE"<<endl;
			  	cout<<"**************************************************************"<<endl<<endl;
			 	AccountList[I].display();
			}//end else if			
		}//end interior while
		Found=false;
		choice=0;
		searchID=0;
		I=0;					
		cout<<"Would you like to search for another record? (Y/N)"<<endl;
		cout<<"Enter '1' for yes or '2' for no"<<endl;
		cin>>choice;
	}//end while
	cout<<"Very Well...GOODBYE!"<<endl<<endl;
	return Found;	
};//end search	
//*********************************************************************************************************
//main
int main()
{
	Infile_t Infile;
	Outfile_t Outfile;
	cAccountList ACCOUNT;
	ACCOUNT.load_data(Infile);
	ACCOUNT.sort_by_ID();
	ACCOUNT.print_to_outfile(Outfile);
	ACCOUNT.print_to_screen();
	ACCOUNT.search();
return 0;
}//end main
//*********************************************************************************************************

NEW CODE

//Assignment #7 due 2-8-2010
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
//global declarations
typedef char Name_t[15];
typedef fstream Infile_t;
typedef fstream Outfile_t;
typedef char Filename_t[50];
typedef int Addr_t;
typedef int ListEle_t;
const Addr_t NIL=-1;
//*********************************************************************************************************
//classes
class cAccount
{
        private:
                int accountID;
                Name_t accountName;//(last,first)
                float accountBal;
        public:
                cAccount();
                int get_accountID(int &accountID)
                { accountID=this->accountID; return accountID;};
                void read(Infile_t &Infile);
                void print(Outfile_t &Outfile);
                void display();
};//end of cAccount
//linked list
struct ListEle_t
{
        cAccount theaccount;
        Addr_t Link;
};//end struct ListEle_t
const int MAXLISTSIZE=51;
typedef ListEle_t List_t[MAXLISTSIZE];

//*********************************************************************************************************
//class cAccount functions
cAccount::cAccount()
{
        accountID=0;
        accountBal=0;
};//default constructor
void cAccount::read(Infile_t &Infile)
{ Infile>>accountID>>accountName>>accountBal; };
//end of cAccount::Read
void cAccount::print(Outfile_t &Outfile)
{
        Outfile<<" "<<accountID<<"      "<<accountName<<"       $"<<accountBal<<endl;
        Outfile<<"_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_"<<endl;
};//end of print
void cAccount::display()
{
        cout<<" "<<accountID<<"         "<<accountName<<"       $"<<accountBal<<endl;
        cout<<"***********************************************************"<<endl;
};//end of display
void cAccount::Display()
{
        int choice;
        cout<<"Would you like to preview your output file? (Y/N)"<<endl;
        cout<<"Enter '1' for yes or '2' for no"<<endl;
        cin>>choice;
        if(choice == 1)
        {
                cout<<"Generating preview of output....."<<endl<<endl;
                cout<<"********************************************************************"<<endl;
                cout<<" "<<"ACCOUNT_ID#"<<"     "<<"ACCOUNT_NAME"<<"    "<<"ACCOUNT_BALANCE"<<endl;
                cout<<"********************************************************************"<<endl<<endl;
                for(int I=0; I<counter; I++)
                {
                        AccountList[I].display();
                }//end for
        }//end if
        else
        { cout<<"Very well...MOVING TO NEXT PROCESS"<<endl;}
};//end print_to_screen
//*********************************************************************************************************
//class cAccountList functions
cAccountList::cAccountList()
{ counter=0; };//default constructors
void cAccountList::load_data(Infile_t &Infile)
{
        Filename_t Filename;
        cout<<"BEGINING PROCESS......."<<endl<<endl;
        cout<<"Please enter the name of the datafile to be used:"<<endl;
        cin>>Filename;
        Infile.open(Filename,ios::in);
        AccountList[counter].read(Infile);
        while(!Infile.eof())
        {
                counter=counter+1;
                AccountList[counter].read(Infile);
        }//end while
        Infile.close();
        cout<<"Datafile read....SUCCESS!"<<endl;
};//end of read_data
void cAccountList::print_to_outfile(Outfile_t &Outfile)
{
        Filename_t Filename;
        cout<<"Please enter the name of the output file:"<<endl;
        cin>>Filename;
        Outfile.open(Filename,ios::out);
        Outfile<<"*************************************************************************"<<endl;
        Outfile<<" "<<"ACCOUNT_ID#"<<"          "<<"ACCOUNT_NAME"<<"    "<<"ACCOUNT_BALANCE"<<endl;
        Outfile<<"*************************************************************************"<<endl<<endl;
        for(int I=0; I<counter; I++)
        {
                AccountList[I].print(Outfile);
        }//end for
        Outfile.close();
        cout<<"Outfile write...SUCCESS!"<<endl<<endl;
};//end print_to_outfile

void cAccountList::sort_by_ID()
{
        int I,Pass;
        int accountID;
        AccountArray temp;
        for(Pass=1; Pass<counter-1; Pass++)
        {
                for(I=0; I<counter-1; I++)
                {
                if(AccountList[I].get_accountID(accountID) > AccountList[I+1].get_accountID(accountID))
                {
                        temp[I]=AccountList[I];
                        AccountList[I]=AccountList[I+1];
                        AccountList[I+1]=temp[I];
                }//end if
                }//end inside for
        }//end outside for
};//end sort_by_ID
bool cAccountList::search()
{
        bool Found=false;
        int I=0;
        int accountID;
        int searchID=0;
        Name_t searchName;
        Name_t accountName;
        int choice;
        cout<<"Would you like to search for a record at this time? (Y/N)"<<endl;
        cout<<"Enter '1' for yes or '2' for no"<<endl;
        cin>>choice;
        while(choice==1)
        {
                cout<<"Please enter the 5 digit ID number:"<<endl;
                cout<<"If the record is not found you will be asked if you would like another search."<<endl;
                cin>>searchID;
                while((!Found)&&(I<counter))
                {
                        if(AccountList[I].get_accountID(accountID)!=searchID)
                        { I=I+1;}//end if
                        else if (AccountList[I].get_accountID(accountID)==searchID)
                        {       Found=true;
                                cout<<"**************************************************************"<<endl;
                                cout<<" "<<"ACCOUNT_ID#"<<" "<<"ACCOUNT_NAME"<<" "<<"ACCOUNT_BALANCE"<<endl;
                                cout<<"**************************************************************"<<endl<<endl;
                                AccountList[I].display();
                        }//end else if
                }//end interior while
                Found=false;
                choice=0;
                searchID=0;
                I=0;
                cout<<"Would you like to search for another record? (Y/N)"<<endl;
                cout<<"Enter '1' for yes or '2' for no"<<endl;
                cin>>choice;
        }//end while
        cout<<"Very Well...GOODBYE!"<<endl<<endl;
        return Found;
};//end search
//*********************************************************************************************************
//main
int main()
{
        Infile_t Infile;
        Outfile_t Outfile;
        ACCOUNT.load_data(Infile);
        ACCOUNT.sort_by_ID();
        ACCOUNT.print_to_outfile(Outfile);
        ACCOUNT.print_to_screen();
        ACCOUNT.search();
return 0;
}//end main
//*********************************************************************************************************
void Display(List_t TheList, Addr_t Start)
{
        Addr_t current;
        current=start;
        while(current!=NIL)
        {
                TheList[current].theaccount.display();
                current=TheList[current].Link;
        }//end of while
};//end of Display