|
发表于 2018-4-1 17:13:00
|
显示全部楼层
本楼为最佳答案
视频06,函数重载,写了两种,1.是自己输入参数个数;2是程序计算输入参数个数,大于3个重新输入。
1.
- void main()
- {
- void calc(int a);
- void calc(int a,int b);
- void calc(int a,int b,int c);
- int a,b,c,number;
- cout<<"请输入参数个数number=";
- cin>>number;
- switch(number)
- {
-
- case 1:
- cout<<"请输入a的值:";
- cin>>a;
- calc(a);
- break;
- case 2:
- cout<<"请输入a和b的值:";
- cin>>a>>b;
- calc(a,b);
- break;
- case 3:
- cout<<"请输入a、b和c的值:";
- cin>>a>>b>>c;
- calc(a,b,c);
- break;
- default:
- cout<<"您的输入有错误!!!!!";
- }
- system("pause");
- }
- void calc(int a)
- {
- cout<<a<<"的平方是"<<a*a<<endl;
- }
- void calc(int a,int b)
- {
- cout<<a<<"*"<<b<<"="<<a*b<<endl;
- }
- void calc(int a,int b,int c)
- {
- cout<<a<<"+"<<b<<"+"<<c<<"="<<a+b+c<<endl;
- }
复制代码
2.
- void main()
- {
- int count(int q[]);
- void input(int r[]);
- void calc(int a);
- void calc(int a,int b);
- void calc(int a,int b,int c);
- int a[100]={0},number,i;
- cout<<"请输入需要计算的参数:";
- for(i=0;i<100;i++)
- {
- cin>>a[i];
- if(cin.peek()=='\n')
- break;
- }
- number=i+1;
- cout<<"number="<<number<<endl;
- while(1)
- {
- if(number==1)
- {
- calc(a[0]);
- break;
- }
- if(number==2)
- {
- calc(a[0],a[1]);
- break;
- }
- if(number==3)
- {
- calc(a[0],a[1],a[2]);
- break;
- }
- if((number<1)||(number>3))
- {
- cout<<"输入参数有误,请重新输入参数元素:";
- for(i=0;i<100;i++)
- {
- cin>>a[i];
- if(cin.peek()=='\n')
- break;
- }
- number=i+1;
- cout<<"number="<<number<<endl;
- }
- }
- system("pause");
- }
复制代码 |
|