博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实验四
阅读量:4624 次
发布时间:2019-06-09

本文共 2449 字,大约阅读时间需要 8 分钟。

实验四

 

Graph

 

1.类Graph的声明

 

 

#ifndef GRAPH_H

#define GRAPH_H

 

// 类Graph的声明 

class Graph {

    public:

        Graph(char ch, int n);   // 带有参数的构造函数 

        void draw();     // 绘制图形 

    private:

        char symbol;

        int size;

};

 

2.类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() {

    for(int i=0;i<size;i++)

    {

        for(int j=1;j<size-i;j++)

        {

        cout<<' ';

        }

        for(int k=1;k<2*(i+1);k++)

        {

            cout<<symbol;

        }

        cout<<endl;

    }

    // 补足代码,实现「实验4.pdf」文档中展示的图形样式 

}

 

3.类Graph的测试

 

 

#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; 

 

4.运行结果

 

 

 

 

 

Fraction

 

1.类Fraction的声明

 

 

class Fraction {

    public:

        Fraction();

        Fraction(int a);

        Fraction(int a, int b);   

        void plus(Fraction &p,Fraction &q);

        void minus(Fraction &p,Fraction &q);

        void multiply(Fraction &p,Fraction &q);

        void divide(Fraction &p,Fraction &q);     

        void compare(Fraction &p,Fraction &q);

        void output();

    private:

        int top;

        int bottom;

};

 

2.类Fraction的实现

 

 

#include <iostream>

#include "fraction.h"

using namespace std;

 

 

Fraction::Fraction(): top(0), bottom(1){

}

Fraction::Fraction(int a): top(a),bottom(1){

}

Fraction::Fraction(int a, int b): top(a),bottom(b){

}

void Fraction::output(){cout<<top<<'/'<<bottom<<endl;

}

void Fraction::plus(Fraction &p,Fraction &q){

    top=p.top*q.bottom+p.bottom*q.top;

    bottom=p.bottom*q.bottom;

}

void Fraction::minus(Fraction &p,Fraction &q){

    top=p.top*q.bottom-p.bottom*q.top;

    bottom=p.bottom*q.bottom;

}

void Fraction::multiply(Fraction &p,Fraction &q){

    top=p.top*q.top;

    bottom=p.bottom*q.bottom;

}

void Fraction::divide(Fraction &p,Fraction &q){

    top=p.top*q.bottom;

    bottom=p.bottom*q.top;

}

void Fraction::compare(Fraction &p,Fraction &q){

    if(p.top/p.bottom>q.top/q.bottom)

    cout<<"a>b"<<endl;

    else if (p.top/p.bottom<q.top/q.bottom)

    cout<<"a<b"<<endl;

    else if (p.top/p.bottom==q.top/q.bottom)

    cout<<"a=b"<<endl;

}

 

3.类Fraction的测试

 

 

#include <iostream>

#include "fraction.h"

using namespace std;

 

 

int main() {

    Fraction a;

    Fraction b(3,4);

    Fraction c(5);

    Fraction d;

    d.plus(b,c);

    d.output();

    d.minus(b,c);

    d.output();

    d.multiply(b,c);

    d.output();

    d.divide(b,c);

    d.output();    

    d.compare(b,c);    

    return 0; 

 

4.运行结果

我自己还有许多不足,希望指正

转载于:https://www.cnblogs.com/szb3115/p/8921639.html

你可能感兴趣的文章
配置的热更新
查看>>
MySQL事务的开启与提交,autocommit自动提交功能
查看>>
PriorityQueue
查看>>
CODEVS1403 新三国争霸
查看>>
iOS 环信离线推送
查看>>
WPFTookit Chart 高级进阶
查看>>
雷云Razer Synapse2.0使用测评 -第二次作业
查看>>
django上传文件
查看>>
CVPR2013-papers
查看>>
PHP之时间函数
查看>>
Python open()完整参数
查看>>
django里面DTL使用for循环时,获取当前循环次数使用{{forloop.counter}}
查看>>
Java基础——Java集合(二)
查看>>
详解如何让Android UI设计性能更高效
查看>>
使用KNN算法对鸢尾花数据集进行分类处理
查看>>
java排序-按照实体的多种属性值进行排序(ComparableComparator/ComparatorChain)
查看>>
Django模板语言
查看>>
Django路由系统
查看>>
提高生产性工具(四) - XML数据库的尝试
查看>>
ural 1005 Stone Pile DP
查看>>