I'm a beginner and learing C++. When I try to run the exe file of this code it closes as soon as I press 'enter' after entering the second number. How do I pause my code to see the result? I also tried system("pause"), it worked but I read that it only works on windows and using it is considered BAD PRACTICE, so I want to do it in a proper way. Please help
Print.h (header file I used in the main code)
#pragma once
#include <iostream>
template<typename T> void print(T arg, int newline=1)
{
    if (newline)
        std::cout << arg << std::endl;
    else
        std::cout << arg;
}
#include <iostream>
#include <string>
#include "../Print.h"
void calculator()
{
    print("Enter the first number: ", 0);
    int num1;
    std::cin >> num1;
    print("Choose Operation (+ - x /): ", 0);
    std::string  operation = "";
    std::cin >> operation;
    print("Enter the second number: ", 0);
    int num2;
    std::cin >> num2;
    if (operation == "+") {
        print("Output ==> ", 0);
        print(num1 + num2);
    }
    else if (operation == "-") {
        print("Output ==> ", 0);
        print(num1 - num2);
    }
    else if (operation == "x") {
        print("Output ==> ", 0);
        print(num1 * num2);
    }
    else if (operation == "/") {
        print("Output ==> ", 0);
        print(num1 / num2);
    }
    else {
        print("Error: Invalid Operation!\nPlease try again.");
        calculator();
    }
}
int main()
{
    print("Welcome!\nLets start!!");
    calculator();
    std::cin.get();
}
 
    