文档章节

C++实验四

o
 osc_x4h57ch8
发布于 2018/04/23 23:41
字数 650
阅读 15
收藏 0
 1 #ifndef GRAPH_H
 2 #define GRAPH_H
 3 
 4 // 类Graph的声明 
 5 class Graph {
 6     public:
 7         Graph(char ch, int n);   // 带有参数的构造函数 
 8         void draw();     // 绘制图形 
 9     private:
10         char symbol;
11         int size;
12 };
13 
14 
15 #endif
// 类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,m;
    for(i=1;i<=size;i++)
    {
        for(j=1;j<=(size-i);j++)
        {
            cout<<" ";
        }
        for(m=1;m<=(2*i-1);m++)
        {
            cout<<symbol;
        }
         cout<<endl;
    }
    // 补足代码,实现「实验4.pdf」文档中展示的图形样式 
}
#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; 
} 

#ifndef FRACTION_H_INCLUDED
#define FRACTION_H_INCLUDED
class Fraction
{
    public:
        Fraction();
        Fraction(int t,int b);
        Fraction(int t);
        void show();
        void add(Fraction &f);
        void minus(Fraction &f);
        void mul(Fraction &f);
        void div(Fraction &f);
        void com(Fraction &f);
    private:
        int top;
        int bot;
};
#endif
#include<iostream>
#include"Fraction.h"
using namespace std;
Fraction::Fraction():top(0),bot(1){}
Fraction::Fraction(int t,int b):top(t),bot(b){}
Fraction::Fraction(int t):top(t),bot(1){}
void Fraction::show()
{
    if(top<0)
    cout<<"-"<<top<<"/"<<bot<<endl;
    else if(top>0)
    cout<<top<<"/"<<bot<<endl;
    else
    cout<<"0"<<endl;
}
void Fraction::add(Fraction &f)
{
    Fraction result;
    result.top=top*f.bot+f.top*bot;
    result.bot=bot*f.bot;
    result.show();
}
void Fraction::minus(Fraction &f)
{
    Fraction result;
    result.top=top*f.bot-f.top*bot;
    result.bot=bot*f.bot;
    result.show();
}
void Fraction::mul(Fraction &f)
{
    Fraction result;
    result.top=top*f.top;
    result.bot=bot*f.bot;
    result.show();
}
void Fraction::div(Fraction &f)
{
    Fraction result;
    result.top=top*f.bot;
    result.bot=bot*f.top;
    result.show();
}
void Fraction::com(Fraction &f)
{
    double m,n,a;
    m=top/bot;
    n=f.top/f.bot;
    a=m-n;
    if(a>0)
    cout<<"m大于n"<<endl;
    else if(a=0)
    cout<<"m等于n"<<endl;
    else
    cout<<"m小于n"<<endl;
}
#include<iostream>
#include"Fraction.h"
using namespace std;
int main()
{   int q,w,e,r,t;
    Fraction f;
    f.show();
    Fraction f0(5);
    f0.show();
    cout<<"请分别输入您想进行计算的分数!"<<endl; 
    do
{
    cin>>q>>w;
    Fraction f1(q,w);
    f1.show();
    cin>>e>>r;
    Fraction f2(e,r);
    f2.show();
    char c;
    cin>>c;
    switch(c)
    {
        case '+':f1.add(f2);break;
        case '-':f1.minus(f2);break;
        case '*':f1.mul(f2);break;
        case '/':f1.div(f2);break;
        case 'b':f1.com(f2);break;
    }
    cout<<"如果你想进行下一轮运算,请输入一个非0数,如果不需要请摁0!"<<endl; 
    cin>>t;
}while(t!=0);
    cout<<"Thanks for using!"<<endl; 
    return 0;
}

没做之前,感觉难!难!难!我是真的一点都看不懂。。琢磨了两个多小时,终于做出来了,还算是带了一点自己的想法在里面,有一种大彻大悟的感觉。

对这些内容的认识,又更进了一步!

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

为什么数组[idx ++] + =“a”在Java 8中增加一次idx,在Java 9和10中增加两次?

问题: For a challenge, a fellow code golfer wrote the following code : 对于挑战, 一位代码高尔夫球手 编写了以下代码 : import java.util.*;public class Main { public static ......

富含淀粉
6分钟前
11
0
这三个博弈论新趋势,正深刻影响深度强化学习道翰天琼认知智能未来机器人接口API

博弈论在现代人工智能(AI)解决方案中正扮演着至关重要的角色,深度强化学习(DRL)正是积极拥抱博弈论的头等公民。 从单智能体程序到复杂的多智能体深度强化学习环境,博弈论原理贯穿了 AI...

jackli2020
7分钟前
0
0
Web右键菜单实现思路

需要的知识 阻止事件冒泡 event.stopPropagation() 阻止默认行为 event.preventDefault() CSS定位 事件处理程序 oncontextmenu 思路 预先编写好右键菜单的DOM 在需要右键菜单的DOM元素上添加...

AioDiage
8分钟前
0
0
点击提交form

<form action="/search" id="search_form"> <input type="text" name="keywords" value="" placeholder="Furniture Handles" class="jhser" /> <span class="serBtn" onclick="docu......

子枫Eric
21分钟前
18
0
oracle查询、修改、删除、插入语句

表结构如下 create table test ( id int, xm varchar2(5), age varchar2(3) ) 内有数据格式 id xm age 1 张三 14 2 李四 20 查询语句 select * from test;#*号为返回全部字段 select id,xm f......

椰子牛奶
24分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部