Hello all smart people!
My problem is that the code below somehow should be able to summarize the double betalat_andras and the double skyldig (not with each other) for each specific person. That is if a Person Bob is added with betalat_andras = 1 and skyldig = 2 and then Bob is added with betalat_andras = 2 and skyldig = 3 then the result should be only one Person in the array but with values betalat_andras = 3 and skyldig = 5.
What happens right now is that I get an error C2106 '=' : left operand must be l-value
So my guess(or maybe it should be hope) is that there is a way around this.
Restrictions: No global variables. No inheritence and other advanced class "techniques"(Not part of this course). No vectors (Not part of this course).
I have cut out the parts of code, I think is what is needed for explaining the problem.
//Just to be safe I added the class definitions
class Person
{
private:
string namn;
double betalat_andras; //how much one person has payed
double skyldig; //how much one person owes
public:
Person(); //Standard Constructor
Person(string n, double b, double s); //Overloaded(is that the english name?) constructor
double haemta_betalat();
double haemta_skyldig();
string haemta_namn();
void skrivUt();
//ev. annat
};
class PersonLista
{
private:
int antalPers;
double sumBetalat;
double sumSkyldig;
Person pers[MAX_PERSONER];
public:
PersonLista();
~PersonLista();
void laggTillEn( Person pny );
void skrivUtOchFixa();
double summaSkyldig();
double summaBetalat();
//...eventuellt div. annat...
};
//Here we jump to my problem, it is in the bottom of what is shown of this class:
void PersonLista::laggTillEn(Person pny) //Adds Person[x] to the list of Persons
{
antalPers++;
sumBetalat = sumBetalat + pny.haemta_betalat(); //Summarize how much total payed
sumSkyldig = sumSkyldig + pny.haemta_skyldig(); //Summarize how much total owed
for (int i = 0; i < antalPers; i++)
{
if(pers[i].haemta_namn()== pny.haemta_namn())
{
cout << "Finns sen tidigare, lagras ej ekonomin summeras." << endl;
cout << endl;
antalPers = antalPers -1;
//Somehow summarizing for each time a specific name is added, this is not working
pers[i].haemta_betalat() = pers[i].haemta_betalat() + pny.haemta_betalat();
//Somehow summarizing for each time a specific name is added, this is not working
pers[i].haemta_skyldig() = pers[i].haemta_skyldig() + pny.haemta_skyldig();
break;
}
I am very much thankful for the help I can get.
Ziwx