zoukankan      html  css  js  c++  java
  • 实验六

    实验内容 1
    chip

    #include <iostream>
    using namespace std;
    class Cores
    {
        private:
            int m,n;
        public:
            Cores(int ,int );
            int getm(){return m;}
            int getn(){return n;}
            int addition();
    };
    Cores::Cores(int a,int b):m(a),n(b){}
    int Cores::addition()
    {
        return m+n;
    }
    class CoreA:public Cores
    {
        public:
            CoreA(int ,int );
            int subtractoin();
    };
    CoreA::CoreA(int a,int b):Cores(a,b){}
    int CoreA::subtractoin()
    {
        return getm()-getn();
    }
    class CoreB:public Cores
    {
        public:
            CoreB(int ,int );
            int multiplication();
    };
    CoreB::CoreB(int a,int b):Cores(a,b){}
    int CoreB::multiplication()
    {
        return getm()*getn();
    }
    class CoreC:public Cores
    {
        public:
            CoreC(int ,int );
            int division();
    };
    CoreC::CoreC(int a,int b):Cores(a,b){}
    int CoreC::division()
    {
        return getm()/getn();
    }
    int main()
    {
        Cores base(3,2);
        CoreA A(5,2);
        CoreB B(7,2);
        CoreC C(9,2);
        cout<<base.addition()<<endl;
        cout<<A.addition()<<endl;
        cout<<B.addition()<<endl;
        cout<<C.addition()<<endl;
        cout<<A.subtractoin()<<endl;
        cout<<B.multiplication()<<endl;
        cout<<C.division()<<endl;
        return 0;
    }
    

    实验内容 2
    vehicle

    #include <iostream>
    using namespace std;
    class vehicle
    {
    public:
        vehicle(int ,int );
        ~vehicle();
        void run();
        void stop();
    private:
        int maxspeed;
        int weight;
    };
    vehicle::vehicle(int a,int b):maxspeed(a),weight(b)
    {
        cout<<"vehicle is being constructed...   "<<endl;
        cout<<"max speed set as "<<maxspeed<<endl;
        cout<<"weight set as "<<weight<<endl;
    }
    vehicle::~vehicle(){}
    void vehicle::run(){cout<<"Running..."<<endl;}
    void vehicle::stop(){cout<<"Stop."<<endl;}
    
    
    class bicycle:virtual public vehicle
    {
    public:
        bicycle(int ,int ,int );
        ~bicycle();
    private:
        int height;
    };
    bicycle::bicycle(int a,int b,int c):vehicle(a,b),height(c)
    {
        cout<<"bicycle is being constructed...   "<<endl;
        cout<<"height set as "<<height<<endl;
    }
    bicycle::~bicycle(){}
    
    class motorcar:virtual public vehicle
    {
    public:
        motorcar(int ,int ,int );
        ~motorcar();
    private:
        int seatnum;
    };
    motorcar::motorcar(int a,int b,int c):vehicle(a,b),seatnum(c)
    {
        cout<<"motorcar is being constructed...   "<<endl;
        cout<<"seat number set as "<<seatnum<<endl;
    }
    motorcar::~motorcar(){}
    
    class motorcycle:public bicycle,public motorcar
    {
    public:
        motorcycle(int ,int ,int ,int );
        motorcycle();
        ~motorcycle();
    };
    motorcycle::motorcycle(int a,int b,int c,int d):vehicle(a,b),bicycle(a,b,c),motorcar(a,b,d){}
    motorcycle::motorcycle():vehicle(0,0),bicycle(0,0,0),motorcar(0,0,0){}
    motorcycle::~motorcycle(){}
    
    int main()
    {
        motorcycle Benz(120,100,1,2);
        Benz.run();
        Benz.stop();
        return 0;
    }
    

    实验内容 3
    iFraction

    iFraction.h

    #ifndef IFRACTION_H_INCLUDED
    #define IFRACTION_H_INCLUDED
    #include "Fraction.h"
    class iFraction:public Fraction
    {
    private:
        int integer;//记录带分数系数, 同时表示带分数的正负
        unsigned int itop;//记录带分数分母
        unsigned int ibottom;//记录带分数分子
    public:
        iFraction(int ,int );
        iFraction(int ,unsigned int ,unsigned int );
        void ishow();
    };
    
    #endif // IFRACTION_H_INCLUDED
    

    iFraction.cpp

    #include<iostream>
    #include "iFraction.h"
    using namespace std;
    iFraction::iFraction(int b,int c):Fraction(b,c)
    {
        integer=gettop()/getbottom();
        itop=abs(gettop()-integer*getbottom());
        ibottom=getbottom();
    }
    iFraction::iFraction(int a,unsigned int b,unsigned int c):integer(a),itop(b),ibottom(c)
    {
        int pltop=a*ibottom+itop;
        Fraction(pltop,ibottom);
    }
    int idigit(int p)
    {
        int i=0;
        while(p!=0)
        {
            p/=10;
            i++;
        }
        return i;
    }
    void icouof(int m,string toc)
    {
        for(int i=0;i<m;i++)
        {
            cout<<toc;
        }
    }
    void iFraction::ishow()
    {
        int intd=idigit(abs(integer));
        if(integer<0)intd++;
        int topd=idigit(itop);
        int botd=idigit(ibottom);
        int m=(botd-topd)/2;
        icouof(intd+m+1," ");
        cout<<itop<<endl;
        cout<<integer;
        icouof(botd+1,"©¥");
        cout<<endl;
        icouof(intd+1," ");
        cout<<ibottom<<endl;
    }
    

    main

    #include <iostream>
    #include"Fraction.h"
    #include"iFraction.h"
    using namespace std;
    int main()
    {
        Fraction a(5,-2);
        Fraction b(-1,-2);
        Fraction f(1,2);
        Fraction c;
        Fraction g;
        g=a*b;
        g.show();
        g=a/b;
        g.show();
        c=a-b;
        compare(a,b);
        compare(b,f);
        c.show();
        c.trshow();
        double m;
        m=c.tranf_d();
        cout<<m<<endl;
        m=a.tranf_d();
        cout<<m<<endl;
        m=b.tranf_d();
        cout<<m<<endl;
        m=f.tranf_d();
        cout<<m<<endl;
        m=g.tranf_d();
        cout<<m<<endl;
        Fraction p(1635,-135);
        p.trshow();
        iFraction ben(2,1,3);
        ben.ishow();
        iFraction hu(-2,1,321);
        hu.ishow();
        //下面用于手动输入,比较粗糙
        /*
        while(1)
        {
            cout<<"请输入两个整数以建立分数"<<endl;
            int m,n;
            Fraction c;
            cin>>m>>n;
            Fraction a(m,n);
            cout<<"the fraction you set is "<<endl;
            a.trshow();
            cin>>m>>n;
            Fraction b(m,n);
            cout<<"the fraction you set is "<<endl;
            b.trshow();
            cout<<"a+b :"<<endl;c=a+b;c.trshow();
            cout<<"a-b :"<<endl;c=a-b;c.trshow();
            cout<<"a*b :"<<endl;c=a*b;c.trshow();
            cout<<"a/b :"<<endl;c=a/b;c.trshow();
            cout<<"请输入三个整数以建立带分数"<<endl;
            int p;
            cin>>m>>n>>p;
            iFraction asd(m,n,p);
            cout<<"the fraction you set is "<<endl;
            asd.ishow();
        }
        */
        return 0;
    }
    

  • 相关阅读:
    国际组织
    波段
    hhgis驱动
    百度地图格式
    气象数据格式
    汽车用传感器
    无线传感器网络
    【系统软件工程师面试】7. 消息队列
    【ToDo】存储设计概述
    Arthas: Java 动态追踪技术
  • 原文地址:https://www.cnblogs.com/BuluGuy/p/9108079.html
Copyright © 2011-2022 走看看