I know this is a horrible way to do this, but I'm trying to test out several things that I've learned at once in this code. It's meant to ask you how many numbers you want to add using dynamic memory, then push them on to the stack, and add them to the register of "answer." It's not working for some reason, and I was wondering if someone could help. What I'm really trying to learn is how to incorporate stacks in functions. Thanks!
#include<iostream>
#include<new>
#include<cmath>
#include<cstdlib>
#include<string>
#include<stack>
using namespace std;
int nPush(int b, stack<int> a)
{
a.push(b);
return 0;
}
int nPop(stack<int> d, int *p1)
{
*p1 += d.top();
d.pop();
return 0;
}
int main()
{
int i, n, k, j;
int answer = 0;
int *dm;
stack<int> nNumbers;
cout << "Enter the number of numbers you'd like to add: ";
cin >> n;
cout << endl;
dm = new (nothrow) int[n];
for(i=0; i<n; i++)
{
cout << "Enter number: ";
cin >> dm[i];
cout << endl;
nPush(dm[i],nNumbers);
}
cout << "Stack size: " << nNumbers.size() << endl;
for(j=1; j<n+1; j++)
{
nPop(nNumbers, &answer);
cout << k+1 << ": " << answer << endl;
k++;
}
cout << "The answer is: " << answer << endl;
delete[] dm;
system("PAUSE");
return 0;
}