#ifndef GRAPH_H
#define GRAPH_H
// 类Graph的声明
class Graph {
public:
Graph(char ch, int n); // 带有参数的构造函数
void draw(); // 绘制图形
private:
char symbol;
int size;
};
#endif
// 类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 (i = 1; i <= size; i++) {
for (j = 1; j <= size - i; j++)cout<<" ";
for (k = 1; k <= 2 * i - 1; k++)cout << symbol;
cout << endl;
}
}
#include <iostream>
#include "graph.h"
using namespace std;
int main() {
Graph graph1('*',5);
graph1.draw();
system("pause");
system("cls");
Graph graph2('$',7);
graph2.draw();
system("pause");
return 0;
}


#ifndef FRACTION_H
#define FRACTION_H
class Fraction {
public:
Fraction(int t = 0, int b = 1) : top(t), bottom(b) {
}
Fraction(const Fraction &fr) : top(fr.top), bottom(fr.bottom) {
}
void add(Fraction &f1, Fraction &f);
void min(Fraction &f1, Fraction &f);
void mul(Fraction &f1, Fraction &f);
void div(Fraction &f1, Fraction &f);
void com(Fraction &f1, Fraction &f);
void show();
private:
int top;
int bottom;
};
#endif
#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 if (top / bottom < 0) cout << "-" << top << "/" << bottom << endl;
else cout << top << "/" << bottom << endl;
}
void Fraction::fractionadd(Fraction &f1, Fraction &f) {
int t1, b1, t2, b2, m, n, temp, x, y ,i;
t1 = f1.top;
t2 = f.top;
b1 = f1.bottom;
b2 = f.bottom;
y = b1 * b2;
x = t1 * b2 + t2 * b1;
m = x;
n = y;
if(m<n)
{
temp = m;
m = n;
n = temp;
}
for(i=n;i>=1;i--)
{
if (x%i == 0 && y%i == 0) break;
}
x = x / i;
y = y / i;
cout << x << "/" << y << endl;
}
void Fraction::fractionmin(Fraction &f1, Fraction &f) {
int t1, t2, b1, b2, x, y, m, n, temp, i;
t1 = f1.top;
t2 = f.top;
b1 = f1.bottom;
b2 = f.bottom;
y = b1 * b2;
x= t1 * b2 - t2 * b1;
m = x;
n = y;
if (m < n)
{
temp = m;
m = n;
n = temp;
}
for (i = n; i >= 1; i--)
{
if (x%i == 0 && y%i == 0) break;
}
x = x / i;
y = y / i;
cout << x << "/" << y << endl;
}
void Fraction::fractionmul(Fraction &f1, Fraction &f) {
int t1, t2, b1, b2, x, y, m, n, temp, i;
t1 = f1.top;
t2 = f.top;
b1 = f1.bottom;
b2 = f.bottom;
y = b1 * b2;
x = t1 * t2;
m = x;
n = y;
if (m < n)
{
temp = m;
m = n;
n = temp;
}
for (i = n; i >= 1; i--)
{
if (x%i == 0 && y%i == 0) break;
}
x = x / i;
y = y / i;
cout << x << "/" << y << endl;
}
void Fraction::fractiondiv(Fraction &f1, Fraction &f) {
int t1, t2, b1, b2, x, y, m, n, temp, i;
t1 = f1.top;
t2 = f.bottom;
b1 = f1.bottom;
b2 = f.top;
y = b1 * b2;
x = t1 * t2;
m = x;
n = y;
if (m < n)
{
temp = m;
m = n;
n = temp;
}
for (i = n; i >= 1; i--)
{
if (x%i == 0 && y%i == 0) break;
}
x = x / i;
y = y / i;
cout << x << "/" << y << endl;
}
void Fraction::fractioncom(Fraction &f1, Fraction &f) {
int t1, t2, b1, b2, x, y;
t1 = f1.top;
t2 = f.top;
b1 = f1.bottom;
b2 = f.bottom;
y = b1 * b2;
x = t1 * b2 - t2 * b1;
if (x < 0) cout << f1.top << "/" << f1.bottom << "<" << f.top << "/" << f.bottom << endl;
else if (x > 0) cout << f1.top << "/" << f1.bottom << ">" << f.top << "/" << f.bottom << endl;
else if (x == 0) cout << f1.top << "/" << f1.bottom << "=" << f.top << "/" << f.bottom << endl;
}
#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号