Hey everyone

I am writing some code for my c++ class and in this program I am trying to sort back account information by there accountID #'s.

When I try to compile, here are the errors I get:

assign6.cpp: In member function ‘void cAccountList::sort_by_ID()’:
assign6.cpp:110: error: ‘accountID’ was not declared in this scope
assign6.cpp:111: error: ‘class cAccount’ has no member named ‘get_accoutID’
assign6.cpp:112: error: no match for ‘operator<’ in ‘((cAccountList*)this)->cAccountList::AccountList < ((cAccountList*)this)->cAccountList::AccountList[(I + 1)]’


Here is my 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();
};//end of cAccountList
//*****************************************************************************************
//class cAccount functions
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<<"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()
{
	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 print_to_screen
void cAccountList::sort_by_ID()
{
	int I,Pass;
	AccountArray temp;
	for(Pass=1; Pass<counter-1; Pass++)
	{
		for(I=0; I<counter-1; I++)
		{
			AccountList[I].get_accountID(accountID);
			AccountList[I+1].get_accoutID(accountID);
			if(AccountList[I]<AccountList[I+1]);
			{
				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
//*********************************************************************************************************
//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();
	return 0;
}//end main

can anyone help me out?

thanks

>assign6.cpp:110: error: ‘accountID’ was not declared in this scope
Your compiler is right, accountID was never declared in the cAccountList::sort_by_ID member function. You need to declare a variable before using it.

>assign6.cpp:111: error: ‘class cAccount’ has no member named ‘get_accoutID’
Check your spelling.

>assign6.cpp:112: error: no match for ‘operator<’ in
>‘((cAccountList*)this)->cAccountList::AccountList <
>((cAccountList*)this)->cAccountList::AccountList[(I + 1)]’

I'm not sure what kind of magic you were hoping for. Overload operator< if you want to support this operation in your cAccount class.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.