PDA

View Full Version : Problems with a stupid function



raithedavion
June 21st, 2007, 04:17 PM
I'm having a problem with a small part of a program. Error #C2679. I don't know what the deal is. Any help would be appreciated. I've also tried character strings but they were giving me more errors like cannot convert char[] to char and such.

Here are the two code blocks for the transaction object(s).



#ifndef TRANSACTION_H
#define TRANSACTION_H
#include <cstring>

class Transaction
{
public:
Transaction();
Transaction(float Amount, char Code, string Notes);
void SetAmount(float);
void SetCode(char);
void SetNotes(string Notes);
float GetAmount();
char GetCode();
//char GetNotes();
string GetNotes();
private:
float TransAmount;
char TransCode;
//char TransNotes[20];
string TransNotes;
};

#endif




#include <iostream>
#include <cstring>
using namespace std;
#include "transaction.h"

void Transaction::SetAmount(float Amount)
{
TransAmount = Amount;
}
void Transaction::SetCode(char Code)
{
TransCode = Code;
}
void Transaction::SetNotes(string Notes)
{
TransNotes = Notes;
}
float Transaction::GetAmount()
{
return TransAmount;
}
char Transaction::GetCode()
{
return TransCode;
}
string Transaction::GetNotes()
{
//return TransNotes;
return TransNotes;
}


This is the main object code...


#include <iostream>
#include <cstring>
using namespace std;
#include "transaction.h"
#include "bankstatement.h"

void Bankstatement::SetBeginBal(float Balance)
{
BeginBal = Balance;
}
void Bankstatement::EnterTransaction(Transaction Input)
{
NumEntries = NumEntries + 1;
if (NumEntries <= 10)
{
TransLog[NumEntries -1] = Input;
/*TransLog[NumEntries - 1].SetAmount(Input.GetAmount());
TransLog[NumEntries - 1].SetCode(Input.GetCode());
TransLog[NumEntries - 1].SetNotes(Input.GetNotes());*/
BeginBal = GetBeginBal();
if(TransLog[NumEntries - 1].GetCode() == 'D')
{
RunningBalance[NumEntries -1] = BeginBal + TransLog[NumEntries - 1].GetAmount();
}
if(TransLog[NumEntries - 1].GetCode() == 'W')
{
RunningBalance[NumEntries - 1] = BeginBal - TransLog[NumEntries - 1].GetAmount();
}
EndBal = RunningBalance[NumEntries - 1];
}
else
{
system("cls");
cout<<"Maximum transactions entered. Preparing to display results.....\n\n";
system("pause");
}
}
void Bankstatement::DisplayResults()
{
system("cls");
for(int i=0;i<NumEntries;i++)
{
cout<<"Transaction #"<<i<<" was a "<<TransLog[i].GetCode()<<" amount "<<TransLog[i].GetAmount()<<" for "<<TransLog[i].GetNotes()<<"\tBalance: "<<RunningBalance[i];
if(RunningBalance[i] < 0)
{
cout<<"OVERDRAWN\n";
}
else
{
cout<<endl;
}
if(TransLog[i].GetCode() == 'D')
{
Dcount = Dcount + 1;
}
if(TransLog[i].GetCode() == 'W')
{
Wcount = Wcount + 1;
}
}
cout<<"The Ending Balance is: $"<<EndBal<<endl;
cout<<"The number of transactions is: "<<NumEntries<<endl;
cout<<"The number of Deposits is: "<<Dcount<<endl;
cout<<"The number of Withdrawals is: "<<Wcount<<endl;
system("pause");
}
void Bankstatement::ArrangeResults()
{
for(int temp = 0;temp<NumEntries;temp++)
{
Arranged[temp]=TransLog[temp];
}
}
void Bankstatement::PrintArranged()
{
cout<<"Printing the Deposits and Withdrawals as a group: \n";
for(int temp = 0;temp<NumEntries;temp++)
{
cout<<"Transaction #"<<temp<<" was a "<<Arranged[temp].GetCode()<<" amount "<<Arranged[temp].GetAmount()<<" for "<<Arranged[temp].GetNotes()<<endl;
}
}
float Bankstatement::GetBeginBal()
{
return BeginBal;
}
float Bankstatement::GetEndBal()
{
return EndBal;
}
int Bankstatement::GetNumEntries()
{
return NumEntries;
}

raithedavion
June 21st, 2007, 04:30 PM
On a quick note, I've also tried to replace cstring with string and it gives me 3 LNK2019 errors.

TheColonial
June 24th, 2007, 06:28 PM
can you please show us the compiler errors in full? I'm not going to set up a project just to figure out the issue for you. But if you paste the entire compiler error output (including line numbers) then we can probably help you out.