problemscpp
A collection of my answers to algorithm problems in c++.
函数
pat::b::b1034 命名空间参考

1034 有理数四则运算 更多...

函数

int main (istream &cin, ostream &cout)
 
 TEST (b1034, case1)
 
 TEST (b1034, case2)
 

详细描述

1034 有理数四则运算

函数说明

◆ main()

int pat::b::b1034::main ( istream &  cin,
ostream &  cout 
)

在文件 pat.cpp1101 行定义.

1101 {
1102 long long numerator1;
1103 long long numerator2;
1104 long long denominator1;
1105 long long denominator2;
1106 char ch;
1107 cin >> numerator1 >> ch >> denominator1 >> numerator2 >> ch >> denominator2;
1108 const Fraction frac1(true, numerator1, denominator1);
1109 const Fraction frac2(true, numerator2, denominator2);
1110 cout << frac1 << " + " << frac2 << " = " << frac1 + frac2 << endl
1111 << frac1 << " - " << frac2 << " = " << frac1 - frac2 << endl
1112 << frac1 << " * " << frac2 << " = " << frac1 * frac2 << endl
1113 << frac1 << " / " << frac2 << " = " << frac1 / frac2;
1114 return 0;
1115 }
分数
Definition: templates.h:71

被这些函数引用 TEST().

◆ TEST() [1/2]

pat::b::b1034::TEST ( b1034  ,
case1   
)

在文件 pat_test.cpp500 行定义.

500 {
501 istringstream in("2/3 -4/2");
502 auto out = ostringstream();
503 main(in, out);
504 const auto ans = out.str();
505 ASSERT_EQ("2/3 + (-2) = (-1 1/3)\n"
506 "2/3 - (-2) = 2 2/3\n"
507 "2/3 * (-2) = (-1 1/3)\n"
508 "2/3 / (-2) = (-1/3)",
509 out.str());
510 }
int main(int argc, char **argv)
Definition: main.cpp:5

引用了 main().

◆ TEST() [2/2]

pat::b::b1034::TEST ( b1034  ,
case2   
)

在文件 pat_test.cpp512 行定义.

512 {
513 istringstream in("5/3 0/6");
514 auto out = ostringstream();
515 main(in, out);
516 const auto ans = out.str();
517 ASSERT_EQ("1 2/3 + 0 = 1 2/3\n"
518 "1 2/3 - 0 = 1 2/3\n"
519 "1 2/3 * 0 = 0\n"
520 "1 2/3 / 0 = Inf",
521 out.str());
522 }

引用了 main().