实验三
2.graph类的实现
// 类graph的实现 #include "graph.h" #include <iostream> using namespace std; // 带参数的构造函数的实现 Graph::Graph(char ch, int n): symbol(ch), size(n) { } // 成员函数draw()的实现 // 功能:绘制size行,显示字符为symbol的指定图形样式 void Graph::draw() { int i,j,k; for (int i=1; i <= size; i++) { int j = size - i, k= 2*i- 1; while (j--) cout << " "; while (k--) cout << symbol; cout << endl; } }


3.分数类的实现

#include"fraction.h" #include<iostream> using namespace std; void Fraction::show() { if (top == 0) cout << 0 << endl; else if (bottom == 1) cout << top << endl; else cout << top << "/" << bottom << endl; } //加法 void Fraction::add(Fraction x, Fraction y) { int m, z, k, l, temp, i; m = x.bottom * y.bottom; z = x.top * y.bottom + y.top* x.bottom; k = m; l = z; if (k < l) { temp = k; k = l; l = temp; } for (i = l; i >= 1; i--) { if (k % i == 0 && l % i == 0) break; } z = z / i; m = m / i; cout << z << "/" << m << endl; } //减法 void Fraction::min(Fraction x, Fraction y) { int m, z, k, l, temp, i; m = x.bottom * y.bottom; z = x.top * y.bottom - y.top * x.bottom; k = m; l = z; if (k < l) { temp = k; k = l; l = temp; } for (i = l; i >= 1; i--) { if (k % i == 0 && l % i == 0) break; } m = m / i; z = z / i; cout << z << "/" << m << endl; } //乘法 void Fraction::mul(Fraction x, Fraction y) { int m, z, k, l, temp, i; m = x.bottom * y.bottom; z = x.top * y.top; k = m; l = z; if (k < l) { temp = k; k = l; l = temp; } for (i = l; i >= 1; i--) { if (k % i == 0 && l % i == 0) break; } m = m / i; z = z / i; cout << z << "/" << m << endl; } //除法 void Fraction::div(Fraction x, Fraction y) { int m, z, k, l, temp, i; m = x.bottom * y.top; z = x.top * y.bottom; k = m; l = z; if (k < l) { temp = k; k = l; l = temp; } for (i = l; i >= 1; i--) { if (k % i == 0 && l % i == 0) break; } m = m / i; z = z / i; cout << z << "/" << m << endl; } //比大小 void Fraction::com(Fraction x, Fraction y) { int z; z = x.top * y.bottom - y.top * x.bottom; if (z < 0) cout << x.top << "/" << x.bottom << "<" << y.top << "/" << y.bottom << endl; else if (z > 0) cout << x.top << "/" << x.bottom << ">" << y.top << "/" << x.bottom << endl; else if (z == 0) cout << x.top << "/" << x.bottom << "=" << y.top << "/" << y.bottom << endl; }
#ifndef FRACTION_H #define FRACTION_H class Fraction { public: Fraction(int top0 = 0, int bottom0 = 1):top(top0),bottom(bottom0){ } void add(Fraction x, Fraction y); void min(Fraction x, Fraction y); void mul(Fraction x, Fraction y); void div(Fraction x, Fraction y); void com(Fraction x, Fraction y); void show(); private: int top; int bottom; }; #endif
#include"fraction.h" #include<iostream> using namespace std; int main() { Fraction a; a.show(); Fraction b(3, 4); b.show(); Fraction c(5); c.show(); int x, y; cin >> x >> y; Fraction d(x, y); d.show(); a.add(b, d); a.min(b, d); a.mul(b, d); a.div(b, d); a.com(b, d); system("pause"); }

浙公网安备 33010602011771号