// simple aggregate and functions

#include <iostream>
#include <string>
#include <sstream>
using namespace std;

struct rat {
    int num;
    int den;
};

string rat2string(rat r);
rat multiply(rat r1, rat r2);

int main() {
    rat onehalf = {1, 2};
    rat threefourths = {3, 4};

    cout << rat2string(onehalf) << endl;
    cout << rat2string(multiply(onehalf, threefourths)) << endl;
}

string rat2string(rat r) {
    ostringstream oss;
    oss << r.num << '/' << r.den;
    return oss.str();
}

rat multiply(rat r1, rat r2) {
    rat val;
    val.num = r1.num * r2.num;
    val.den = r1.den * r2.den;
    return val;
}
