01. /* 02. * copyright and version Declaration of the program part 03. * copyright (c) 2013, Yantai University Computer college student 04. * All rightsreserved. 05. * file name: cfraction. CPP 06. * Author: Zhao guanzhe 07. * Completion Date: April 8, March 29, 2013. * version: V1.0 09. * input Description: 10. * Problem description: 11. */# include <iostream> using namespace STD; Class cfraction {PRIVATE: int nume; // The Int deno; // denominator public: cfraction (INT Nu = 0, int de = 1); void set (INT Nu, int de); void input (); void simplify (); // simplified (enable the molecular denominator to have no common factor) VO Id amplify (int n); // enlarge n times, for example, 2/3 to 5 times to 10/3 void output (INT style = 0); // output: Take 8/6 as an example, when the style is 0, 8/6 is output as is; // when the style is 1, 4/3 is output in simplified form; // when the style is 2, 1 (1/3) is output, it indicates the output in decimal form, for example, 1/3; // If the style is 3, no parameter or non-1 or 2 is provided, it is regarded as 0}; int main () {cfraction CF1; cf1.input (); cf1.amplify (5); cf1.simplify (); cf1.output (0); cf1.output (1); cf1.output (2); cf1.output (3 ); return 0;} cfraction: cfraction (INT Nu, int de) {nume = Nu; deno = de;} V Oid cfraction: Set (INT Nu, int de) {nume = Nu; deno = de; cout <"the input fraction is: "<nume <"/"<deno <Endl;} void cfraction: input () // in the format of" nu/de, for example, in the form of "5/2", enter {cout <", enter the numerator, denominator:"; CIN> nume> deno;} void cfraction: simplify () {int, b, c, d, num1, num2, temp; num1 = nume; num2 = deno; C = nume; D = deno; If (num1> num2) {temp = num1; num1 = num2; num2 = temp;} A = num1; B = num2; while (B! = 0) {temp = A % B; A = B; B = temp;} C = C/a; D = D/A; cout <"after simplification: "<C <"/"<D <Endl;} void cfraction: Amplify (int n) {int A, B; A = nume; B = deno; A = A * n; B = B * n; cout <"after expansion:" <A <"/" <B <Endl ;} void cfraction: output (INT style) {If (style = 3) {double A; A = double (nume)/double (deno ); cout <"output in decimal form:" <A <Endl;} else if (style = 2) {int B; If (nume> deno) {B = nume/deno; cout <"written as false score:" <B <"(" <(nume-deno * B) <"/" <D Eno <")" <Endl;} else {cout <nume <"/" <deno <Endl ;}} else if (style = 1) {int A, B, C, D; int num1, num2, temp; num1 = nume; num2 = deno; C = nume; D = deno; If (num1> num2) {temp = num1; num1 = num2; num2 = temp;} A = num1; B = num2; while (B! = 0) {temp = A % B; A = B; B = temp;} C = C/a; D = D/A; cout <"after simplification: "<C <"/"<D <Endl;} else {cout <" is simplified: "<nume <"/"<deno <Endl ;}}}
Running result: