面向对象程序设计实验一:函数及函数重载

实验要求:

1. 利用所学的函数知识求解cos(x)+ex,计算精度为10-10,x∈(−∞, +∞)的值由键盘输入,cos(x)的泰勒级数为:

ex的泰勒级数为:

2. 利用函数重载完成三个比较大小的Compare函数,供主函数调用。

三个Compare函数功能分别是两个整数、两个字符、两个字符串(利用字符数组,返回值是char *)的比较。

(1)比较整数的大小,屏幕上输出谁大于谁,并返回较大的那个值。

(2)比较字符,根据他们的ASCII码值大小进行,比较,输出同上。

(3)比较字符串,首先判断字符长度是否一致,如果不一致,将字符串长的认定为大值。如果一致的话,则比较他们ASCII值的总和谁大谁小。输出同上。

程序代码:

1. 利用所学的函数知识求解cos(x)+ex,程序代码如下:

#include<iostream>
#include<cmath>

using namespace std;

const double TINY_VALUE = 1e-10;

double tcos(double x)

{

    double g = 1;

    double t = -x * x / 2;

    int n = 1;

    do {

        g = g + t;

        n++;

        t = -t * x * x / (2 * n) / (2 * n - 1);

    } while (fabs(t) >= TINY_VALUE);

    return g;

}

double ex(double x)

{

    double g = 1;

    double t = x;

    int n = 0;

    do {

        g = g + t;

        n++;

        t = t * x / (2 * n);

    } while (fabs(t) >= TINY_VALUE);

    return g;

}

int main()

{

    double x, p;

    cout << "请输入x:";

    cin >> x;

    p = tcos(x) + ex(x);

    cout << "所求得的结果为:"<< p <<endl;

    return 0;

} 

2. 利用函数重载完成三个比较大小的Compare函数,程序代码如下:

#include<iostream>

using namespace std;

int Compare(int a, int b)

{

    if (a > b)

        return a;

    else

        return b;

}

char Compare(char a, char b)

{

    if (a > b)

        return a;

    else

        return b;

}

char* Compare(char a[], char b[])

{

    int i, j, m, n;

    m = strlen(a);

    n = strlen(b);

    j = m + n - Compare(m, n);

    if (m > n)
        return a;
    else
        return b;

    while (m == n)
    {
        if (a[i] == b[i])

            break;

        else if (a[i] > b[i])

            return a;

        else

            return b;
    }

    return a;

}

int main()

{

    int m, a1, b1;

    char n, a2, b2;

    char arr_1[15], arr_2[15];

    char* p;

    cout << "1.两个整型\n";

    cout << "2.两个字符\n";

    cout << "3.两个字符串\n";

    cout << "请选择你想要比较的类型?:";

    cin>>m;

    switch (m)

    {

    case 1:

    {

        cout << "请输入两个整型:";

            cin >> a1 >> b1;

        m = Compare(a1, b1);

        cout << "两者中大的是:"<< m;

        break;

    }

    case 2:

    {

        cout << "请输入两个字符:";

        cin >> a2 >> b2;

        n = Compare(a2, b2);

        cout << "两者中大的是:"<< n;

        break;

    }

    case 3:

    {

        cout << "请输入第一个字符串:";

        cin >> arr_1;

        cout << "请输入第二个字符串:";

        cin >> arr_2;

        p = Compare(arr_1, arr_2);

        cout << "两者中大的是:"<< p;

        break;

    }

    default:

        cout << "请输入正确的选择序号!!!";

    }
}

运行结果:

1.代码运行结果如下:

2.代码运行结果如下:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤歌Dea妄友

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值