#include<iostream>
#include<string.h>
using namespace std;
class denominator_zero {};
template<class T>
class score {
private:
T molecular;
T denominator;
public:
score() {}
score(T x, T y);
score add(score x);
score sub(score x);
score mul(score x);
score div(score x);
void show()
};
template<class T>
score<T>::score(T x, T y) {
molecular = x;
denominator = y;
try {
if (denominator == 0) {
throw denominator_zero();
}
}
catch (denominator_zero)
cout << "分母为0错误" << endl;
system("pause");
exit(0);
}
template<class T>
score<T>score<T>::add(score<T>x)
{
return score<T>(molecular * x.denominator + denominator * x.molecular, denominator * x.denominator);
}
template<class T>
score<T> score<T>::sub(score<T>x)
{
return (molecular * x.denominator - denominator * x.molecular, denominator * x.denominator);
}
template<class T>
score<T> score<T>::mul(score<T>x)
{
return score<T>(molecular * x.denominator, denominator * x.molecular);
}
template<class T>
score<T>score<T>::div(score<T>x)
{
return score<T>(molecular * x.denominator, denominator * x.denominator);
}
template<class T>
void score<T>::show()
{
if (molecular == 0) {
cout << "结果为0" << endl;
}
else cout << "结果为:" << molecular << "/" << denominator << endl;
}
int main() {
int n, t;
int a, b, c, d;
float A, B, C, D;
label:
cout << "选择分数类型" << endl;
cout << "1.整数" << endl << "2.小数" << endl;
while (cin >> n) {
switch (n) {
case 1:
{
cout << "请输入第一个分数的分子(整数):";
cin >> a;
cout << "请输入第一个分数的分母(整数):";
cin >> b;
}
}
}
}