实践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;
}

posted @ 2018-04-23 23:28  bhys  阅读(110)  评论(0编辑  收藏  举报