UGN Security
Hey all, I'm almost finished with a little rpn calculator program but I have one question. One of the requirements is that it outputs at the end of file


right now I have it set up to quit on "q" and print on "p"

how would I make it so that it prints out at the end of the file?

sample of my main()

Code
using namespace std;

#include <iostream>
#include <cstdlib>
#include <cctype>
#include <string>

#include "dstack.h"
#include "integer.h"

int main()
{
    Stack values;
    
    string command;
    
    while (cin >> command && command != "q")
    {
        if (isdigit(command[0]))
        {
            int input = atoi(command.c_str());
            Integer wrapper(input);
            values.push(wrapper);
        }
        else
        {
            Integer x;
            Integer y;
            
            switch (command[0])
            {
            case '+':
                values.pop(x);
                values.pop(y);
                values.push(Integer(y.intValue() + x.intValue()));
                break;
            
            case '-':
                values.pop(x);
                values.pop(y);
                values.push(Integer(y.intValue() - x.intValue()));
                break;
            
            case '*':
                values.pop(x);
                values.pop(y);
                values.push(Integer(y.intValue() * x.intValue()));
                break;
            
            case '/':
                values.pop(x);
                values.pop(y);
                values.push(Integer(y.intValue() /  x.intValue()));
                break;
            
            case 'p':
                values.pop(x);
                x.writeToFile(cout);
                values.push(x);
                cout << endl;
            }
        }
    }
}
any help would be much appreciated. I'm just really confused frown
Okay, so..
I supose that this Integer class of yours handles output streams?

x.writeToFile(cout);

It would help if you could post at least the member writeToFile(iostream) so that we can examine it.

Otherwise, I would go using the <fstream.h>
library and write an member like

writeToFile(char *name)

maybe something..

bool Integer::writeToFile(char *name){
ofstream out(name);
if(!out){
return false;
}else{
//out to the file
out.close();
return true;
}
}

just a fast doodle..
© UGN Security Forum