实践4
1
#ifndef GRAPH_H #define GRAPH_H // 类Graph的声明 class Graph { public: Graph(char ch, int n); // 带有参数的构造函数 void draw(); // 绘制图形 private: char symbol; int size; }; #endif
#include <iostream> #include "graph.h" using namespace std; int main() { Graph graph1('*',5), graph2('$',7) ; // 定义Graph类对象graph1, graph2 graph1.draw(); // 通过对象graph1调用公共接口draw()在屏幕上绘制图形 graph2.draw(); // 通过对象graph2调用公共接口draw()在屏幕上绘制图形 return 0; }
// 类graph的实现 #include "graph.h" #include <iostream> using namespace std; // 带参数的构造函数的实现 Graph::Graph(char ch, int n): symbol(ch), size(n) { } // 成员函数draw()的实现 // 功能:绘制size行,显示字符为symbol的指定图形样式 // size和symbol是类Graph的私有成员数据 void Graph::draw() {
int i,j,h,l,k;
for(i=1;i<size+1;i++)
{
for(j=0;j<size-i;j++)
cout<<" ";
l = 2 *i- 1;
for (h = 0; h<l; h++)
{
cout << symbol;
}
for(k=0;k<size-i;k++)
cout<<" ";
cout<<endl;
}
}
2
class Fraction{ public: Fraction(); Fraction(int t,int b); Fraction(int t); void add(Fraction &f); void minus(Fraction &f); void multiply(Fraction &f); void divide(Fraction &f); void compare(Fraction &f); void output(); void input(int t,int b); private: int top; int bottom; } ;
#include <iostream> #include "fraction.h" using namespace std; Fraction::Fraction(int t,int b){ top=t;bottom=b; } Fraction::Fraction(int t){ top=t;bottom=1; } Fraction::Fraction(){ top=0;bottom=1; } void Fraction::divide(Fraction &f){ top = f.bottom*top; bottom = f.top*bottom; } void Fraction::add(Fraction &f) { top = f.top*bottom + f.bottom*top; bottom = f.bottom*bottom; } void Fraction::minus(Fraction &f) { top = top*f.bottom-f.top*bottom; bottom = f.bottom*bottom; } void Fraction::multiply(Fraction &f) { top = f.top*top; bottom = f.bottom*bottom; } void Fraction::compare(Fraction &f) { if(f.top/f.bottom>top/bottom) cout<<f.top/f.bottom<<'>'<<top/bottom<<endl; else if(f.top/f.bottom<top/bottom) cout<<f.top/f.bottom<<'<'<<top/bottom<<endl; else if(f.top/f.bottom==top/bottom) cout<<f.top/f.bottom<<'='<<top/bottom<<endl; } void Fraction::output() { cout <<top << '/' << bottom << endl; } void Fraction::input(int t,int b){ top=t; bottom=b; }
#include <iostream> #include "fraction.h" using namespace std; int main() { int t,i; cin>>t>>i; Fraction a; Fraction b(3, 4); Fraction c(5); Fraction n; n.input(t,i);//输入 n.output();//输出 a.output();//输出a b.output();//输出b b.add(c);//b+c b.output(); b.minus(c);//b+c-c b.output(); b.multiply(c);//(b+c-c)*c b.output(); b.divide(c);//((b+c-c)*c)/c b.output(); b.compare(c);//与c相比 return 0; }