码迷,mamicode.com
首页 > 其他好文 > 详细

实验4

时间:2018-04-23 22:41:27      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:raw   void   .com   tom   rac   ima   def   opera   pac   

#ifndef GRAPH_H
#define GRAPH_H
class Graph {
    public:
        Graph(char ch, int n);   
        void draw();    
    private:
        char symbol;
        int size;
};
#endif
 
#include "graph.h" 
#include <iostream>
using namespace std;


Graph::Graph(char ch, int n): symbol(ch), size(n) {
}

void Graph::draw() {
    for(int i=1;i<=size;i++)
    {
        for(int k=size-i;k>=0;k--)
        {
            cout<<" ";
        }
        for(int j=0;j<2*i-1;j++)
        {
            if(j<2*i-2)
                cout<<symbol;
            if(j==2*i-2)
                cout<<symbol<<endl;
        }
    }
    
}
#include <iostream>
#include "graph.h"
using namespace std;


int main() {
    Graph graph1(*,5), graph2($,7) ;  
    graph1.draw(); 
    graph2.draw(); 
    return 0; 
} 

技术分享图片

class Fraction {
    public:
        Fraction(int p=0,int q=1):top(p),bottom(q){};

        void plus(Fraction &a);
        void minus(Fraction &a);
        void multi(Fraction &a);
        void divi(Fraction &a);
        void opera(int p,int q);
        void compare(Fraction &a);
        void output();
    private:
        int top;
        int bottom;
};
#include"Fraction.h"
#include<iostream>
using namespace std;
void Fraction::plus(Fraction &a)
{
    top=a.top*bottom+a.bottom*top;
    bottom=a.bottom*bottom;
    opera(top,bottom);output();
}
void Fraction::minus(Fraction &a)
{
    top=a.top*bottom-a.bottom*top;
    bottom=a.bottom*bottom;
    opera(top,bottom);output();
}
void Fraction::multi(Fraction &a)
{
    top=a.top*top;
    bottom=a.bottom*bottom;
    opera(top,bottom);output();
}
void Fraction::divi(Fraction &a)
{
    top=a.top*bottom;
    bottom=a.bottom*top;
    opera(top,bottom);output();
}
void Fraction::opera(int p,int q)
{
    int i;
    for(i=p;i>0;i--)
    {
        if(p%i==0&&q%i==0)
        {
            break;
        }
    }
    if(q<0)
    {
        i=i*(-1);
    }
    top=top/i;
    bottom=bottom/i;
}
void Fraction::compare(Fraction &a)
{
    int s=a.top*bottom-a.bottom*top;
    if(s>0)
        cout<<"a>b"<<endl;
    else if(s<0)
        cout<<"a<b"<<endl;
    else
        cout<<"a=b"<<endl;
}
void Fraction::output()
{
    cout<<"The result is:"<<top<<"/"<<bottom<<endl;
}
#include"Fraction.h"
#include <iostream>
using namespace std;
int main()
{
    int x,y;
    Fraction a;a.output();
    Fraction b(3,4);b.output();
    Fraction c(5);c.output();
    b.compare(c);
    cout<<"Please input the top and the bottom:";
    cin>>x>>y;
    Fraction d(x,y);d.opera(x,y);d.output();
    return 0;
}

 

技术分享图片

实验4

标签:raw   void   .com   tom   rac   ima   def   opera   pac   

原文地址:https://www.cnblogs.com/lzy-123/p/8922057.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!