// // main.cpp // TemplateTutorial // // Created by Robert Metcalfe on 17/09/13. // Copyright (c) 2013 Robert Metcalfe. All rights reserved. // #include template T modVal(T&, T&); int main(int argc, const char * argv[]) { int inumerator, idenominator; std::cout << "Enter (int)numerator " << std::endl; std::cin >> inumerator; std::cout << "Enter (int)denominator " << std::endl; std::cin >> idenominator; std::cout << "(int)modVal(" << inumerator << "," << idenominator << ") = " << modVal(inumerator, idenominator) << std::endl; double dnumerator, ddenominator; std::cout << "Enter (double)numerator " << std::endl; std::cin >> dnumerator; std::cout << "Enter (double)denominator " << std::endl; std::cin >> ddenominator; std::cout << "(double)modVal(" << dnumerator << "," << ddenominator << ") = " << modVal(dnumerator, ddenominator) << std::endl; return 0; } template T modVal(T& numerator, T& denominator) { if (denominator == 0) { return 0; } else { return numerator - denominator * (int)(numerator / denominator); } }