C++编程题

(1)用函数的重载,实现两个整型数据相加、两个双精度数据相加功能。
步骤:1)定义重载函数 int add(int a,int b)实现两个整数相加;
2)定义重载函数double add(double a,double b)实现两个双精度数相加;

(2)用函数缺省参数,实现两个整型数据相除(默认值345 ÷67)功能;
步骤:1)定义缺省参数的自定义函数 int divide(int x=345,int y=67);

(3)用内联函数,实现两个整数相减功能;
步骤:1)定义内联自定义函数inline int sub(int a,int b)实现a,b相减;

(4)用函数的引用参数,实现软件计算器中数据互换。
步骤:1)定义自定义函数void exchange(int &x,int &y),实现x,y互换;
(5)[加分选作]用动态分配释放内存单元,实现对动态数组由大到小排序。
步骤:1)定义自定义函数void sort();
(6)在main函数中,编写程序进行人机交互界面设计。
第一步:编程显示菜单界面。
Welcome to use calculator!
1.int add
2.double add
3.sub
4.divide
5.exchange
6.sort
第二步:显示Input 2 int number:
输入两个整数;
第三步:显示Please choose the menu:
输入一个整数;
第四步:根据输入的数字,执行相应的函数。
例如如果是输入1,则调用add函数求和,以此类推。

请帮忙看一下这题啊,帮忙写出来啊。谢谢啦。

拿去交作业吧- -|||||

#include<iostream>
using namespace std;
int add(int a,int b)
{int c=a+b;
return c;
}
double add(double a,double b)
{double c=a+b;
return c;
}
int divide(int x=345,int y=67)
{int c;
return c=345/67;}
inline int sub(int a,int b)
{int c;
return c=a-b;
}
void exchange(int &x,int &y)
{int temp;
temp=x;x=y;y=temp;
}

void sort()
{
int size,i;
cout<<"请输入数组元素的个数:";
cin>>size;
int *p=new int[size]; //开辟一个存放数组的空间
cout<<"请输入 "<<size<<" 个元素!"<<endl; //对数组元素初始化
for(i=0;i<size;i++)
{
cin>>p[i];
}
cout<<endl;

for(int j=0;j<size-1;j++)//冒泡法进行由大到小的排列
for(int k=0;k<size-j;k++)
if(p[k]<p[k+1])
{int temp;
temp=p[k];p[k]=p[k+1];p[k+1]=temp;
}
cout<<"排序后的结果为:"<<endl;
for(i=0;i<size;i++)
{
cout<<p[i]<<" ";
}
cout<<endl;

}
int main()//主函数
{char g;
int y;int z;
char h;

cout<<".............Welcome to use calculator!.........."<<endl;
cout<<"....................1.int add....................."<<endl;
cout<<"....................2.double add.................."<<endl;
cout<<"....................3.sub ........................"<<endl;
cout<<"....................4.divide ...................."<<endl;
cout<<"....................5.exchange...................."<<endl;
cout<<"....................6.sort ......................."<<endl;

do{
cout<<"============ Please choose the menu: ============"<<endl;
cin>>h;
switch(h)
{
case '1':cout<<"请输入相加的两个整数:"<<endl;
int d,f,c;
cin>>d>>f;
c=add( d, f);
cout<<"相加的和为:"<<c<<endl;break;
case '2':cout<<"请输入相加的两个双精度数:"<<endl;
double i,j,k;
cin>>i>>j;
k=add( i, j);
cout<<"相加的和为:"<<k<<endl;break;
case '3':cout<<"请输入相减的两个数:(内置函数)"<<endl;
int l,m,n;
cin>>m>>n;
l=sub( m,n);
cout<<"相减的差为:"<<l<<endl;break;
case '4':
cout<<"两个整形数据相除(345/67):"<<endl;
int x;
x=divide(345,67);
cout<<"结果为:"<<x<<endl;break;
case '5':

cout<<"输入要交换的两个数"<<endl;
cin>>y>>z;cout<<endl;
cout<<"两个数交换如下:"<<endl;
exchange(y,z);
cout<<y<<" "<<z<<endl;break;
case '6':sort();break;
default:cout<<"输入错误,请重新输入!"<<endl;break;
}
cout<<"是否继续操作:(是请按y---退出请按其它任意键)"<<endl;
cin>>g;
}
while(g=='y'||g=='Y');
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-09-13
1
int add(int a,int b){return a+b;}
double add(double a,double b){return a+b;}
相似回答