花火ios 2021-10-07 22:09 采纳率: 100%
浏览 14
已结题

我不明白什么叫重载就不需要选择语句了,第一个比大小,第二个排序,第三个计算面积

我不明白什么叫重载就不需要选择语句了,第一个比大小,第二个排序,第三个计算面积
那如果eg:我在第三个语句只想直接输出长方形而不用正方形该怎么做


#include<iostream>
using namespace std;
class MinSort {
public:
    MinSort(int x, int y,int p,int q);
    MinSort(int a, int b,int c);
    MinSort(int m, int n);
private:
    int min;
    int temp=0;
};

int main()
{
    int x, y, p, q;
    cout << "请选择需要输入数字的个数(小于等于4大于等于2)" << endl;    
    int a;
    cin >> a;
    cout << "请输入需要比较的数字" << endl;

    if (a == 2) {
        cin >> x >> y;
        MinSort(x, y);
    }
    else if (a == 3) {
        cin >> x >> y >> p;
        MinSort(x, y,p);
    }
    else if (a == 4) {
        cin >> x >> y >> p>>q;
        MinSort(x, y, p,q);
    }
    return 0;

}


MinSort::MinSort(int m, int n) {
    if (m > n)
        min = n;
    else
        min = m;
    cout << "最小值为" << min << endl;

}
MinSort::MinSort(int m, int n,int p) {
    if (m > n)
        min = n;
    else
        min = m;
    if (min > p)
        min = p;
    else
        min = min;
    cout << "最小值为" << min << endl;

}
MinSort::MinSort(int m, int n, int p, int q) {
    if (m > n)
        min = n;
    else
        min = m;
    if (min > p)
        min = p;
    else
        min = min;
    if (min > q)
        min = q;
    else
        min = min;
    cout << "最小值为" << min << endl;

}



#include<iostream>
using namespace std;
    int Sort(int num[10]);
    float Sort(float num[10]);

int main()
{
    int num1[11],x;
    float num2[11],y;
    int i;
    cout << "请选择需要输入数字的类型" << endl;    
    cout << "整数输入1 实数输入2" << endl;
    int a;
    cin >> a;
    cout << "请输入需要排序的数字" << endl;
    if (a == 1) {        
        for (i = 0; i <10; i++)
        {
            cin >> x;
            num1[i] = x;
        }
        Sort(num1);

    }
    else if (a == 2) {
        for (i = 0; i <10; i++)
        {
            cin >> y;
            num2[i] = y;
        }
        Sort(num1);

    }
    return 0;

}
int Sort(int num[10])
{
    int i, j, temp;
    for (i = 0; i < 10; i++) {
        for (j = i;j < 10; j++)
        {
            if (num[j] > num[j + 1])
            {
                temp = num[j];
                num[j] = num[j + 1];
                num[j + 1] = temp;
            }
        }
    }
    for (i = 0, i < 10; i++;)
        cout << num[i]<<" ";
    return 0;
    }

float Sort(float num[10])
{
    int i, j;
     float temp;
    for (i = 0; i < 10; i++) {
        for (j = i; j < 10; j++)
        {
            if (num[j] > num[j + 1])
            {
                temp = num[j];
                num[j] = num[j + 1];
                num[j + 1] = temp;
            }
        }
    }
    for (i = 0, i < 10; i++;)
        cout << num[i] << " ";
    return 0;
}





#include<iostream>
using namespace std;
    int Sort(int *num1);
    float Sort(float *num2);


int _tmain(int argc, _TCHAR* argv[])
{    int num1[11],x;
    float num2[11],y;
    int i;
    cout << "请选择需要输入数字的类型" << endl;    
    cout << "整数输入1 实数输入2" << endl;
    int a;
    cin >> a;
    cout << "请输入需要排序的数字" << endl;
    if (a == 1) {        
        for (i = 0; i <10; i++)
        {
            cin >> x;
            num1[i] = x;
        }
        Sort(num1);

    }
    else if (a == 2) {
        for (i = 0; i <10; i++)
        {
            cin >> y;
            num2[i] = y;
        }
        Sort(num2);

    }
    return 0;
}

int Sort(int *num1)
{
    int i, j, temp;
    for (i = 0; i <10; i++) {
        for (j = 0; j < 9; j++)
        {
            if (num1[j] > num1[j + 1])
            {
                temp = num1[j];
                num1[j] = num1[j + 1];
                num1[j + 1] = temp;
            }
        }
    }
    for (i = 0;i <10; i++)
        cout << num1[i]<<" ";
    return 0;
}

float Sort(float *num2)
{
    int i, j;
     float temp;
    for (i = 0; i < 10; i++) {
        for (j = 0; j < 9; j++)
        {
            if (num2[j] > num2[j + 1])
            {
                temp = num2[j];
                num2[j] = num2[j + 1];
                num2[j + 1] = temp;
            }
        }
    }
    for (i = 0; i < 10; i++)
        cout << num2[i]<<" ";
    return 0;
}
# include <iostream>
using namespace std;
# include <iomanip>
# include <math.h>

void area(double a)
{
    double area = a * a;
    cout << "正方形面积为:" << endl;
    cout <<area << endl;
}

void area(double a, double b)
{
    double area = a * b;
    cout << "长方形面积为:" << endl;
    cout <<  area << endl;
}


int main()
{
    double a, b,c;
    cout << "计算正方形面积(输入边长)" << endl;
    cin >> a;
    area(a);
    cout << "计算长方形面积(输入长和宽)" << endl;
    cin >> b >> c;
    area(b, c);

    return 0;
}
  • 写回答

1条回答 默认 最新

  • Little BigUs 2021-10-08 10:12
    关注

    你是说最后一个不需要选择语句了吗,我感觉这几个都没什么区别。你应该是被人带偏了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月30日
  • 已采纳回答 10月22日
  • 创建了问题 10月7日

悬赏问题

  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题
  • ¥15 使用Java milo连接Kepserver服务端报错?
  • ¥15 用ADS设计一款的射频功率放大器
  • ¥15 怎么求交点连线的理论解?
  • ¥20 软件开发方法学习来了
  • ¥15 微信小程序商城如何实现多商户收款 平台分润抽成
  • ¥15 HC32L176调试了一个通过TIMER5+DMA驱动WS2812B
  • ¥15 cocos的js代码调用wx.createUseInfoButton问题!
  • ¥15 关于自相关函数法和周期图法实现对随机信号的功率谱估计的matlab程序运行的问题,请各位专家解答!