Mam problem z kolejnym ćwiczeniem z podręcznika Język C++. Szkoła Programowania Stephen'a Prata. Nie jestem pewien, czy dobrze je zrozumiałem.
Oto treść zadania:
Mając poniższą deklarację struktury:
struct customer {
char fullname[35];
double payment;
};
napisz program, który będzie dodawał struktury customer (klient) na stos i usuwał je z tego stosu: stos ma być reprezentowany klasą Stack. Za każdym razem, kiedy struktura jest usuwana ze stosu, należy dodać wartość payment (należność) do ogólnej sumy należności i wyświetlić tę sumę. Uwaga: w ramach ćwiczenia nie należy modyfikować klasy Stack - najwyżej wolno zmienić definicję synonimu typu typedef tak, aby typem Item był typ customer zamiast unsigned long.
Kod źródłowy stack.h: http://ideone.com/pV1Im
Kod źródłowy stack.cpp: http://ideone.com/r5yM2
Zrobiłem to tak, ale chyba nie o to dokładnie w tym zadaniu chodziło. Może mi to ktoś wyjaśnić?
#include <iostream>
#include "stack.h"
int main()
{
double suma = 0;
using namespace std;
customer pierwszy = {"Darek", 13000};
customer drugi = {"Franek", 287.23};
customer trzeci = {"Janek", 199.99};
Stack stos;
cout << "Ustawiam pierwszego i drugiego\n";
stos.push(pierwszy);
stos.push(drugi);
cout << "Zdejmuje:\n";
suma += drugi.payment;
stos.pop(drugi);
cout << "Suma naleznosci: " << suma;
cout << "\nZdejmuje:\n";
suma += pierwszy.payment;
stos.pop(pierwszy);
cout << "Suma naleznosci: " << suma;
cout << "\n\nUstawiam trzeciego:\n";
stos.push(trzeci);
cout << "Zdejmuje:\n";
suma += trzeci.payment;
stos.pop(trzeci);
cout << "Suma naleznosci: " << suma;
cout << endl;
system("PAUSE");
return 0;
}
(Zmieniłem też typedef w pliku stack.h, jak w poleceniu.)