刚学c++,记录作业,有点拉,我觉得好多都是没有必要的但是想不出其他办法来实现,还是自己太菜了。
#include <iostream>
using namespace std;
//使用C加加实现计算器功能。可以实现加减乘除。需要用到内联。函数重载。new运算符。缺省参数
//欢迎页面,内联函数
inline void welcome(){
cout << "欢迎使用计算器系统,根据数字选择对应功能" << endl;
cout << "1.两位数加法" << endl;
cout << "2.两位数以上的加法(最多五位)" << endl;
cout << "3.两位数减法" << endl;
cout << "4.两位数乘法" << endl;
cout << "5.两位数除法" << endl;
}
//两位数的加法
int add(int& a, int& b){
return a + b;
}
//两位数的加法,函数重载
double add(double& a, double& b){
return a + b;
}
//两位数的加法,函数重载,缺省参数
int add(int a, int b, int c, int d = 0, int e = 0){
return a + b + c + d + e;
}
//两位数的减法
int sub(int& a, int& b){
return a - b;
}
//两位数的乘法
int mul(int& a, int& b){
return a * b;
}
//两位数的除法
int divi(int& a, int& b){
return a / b;
}
int main(){
while(1){
welcome();
char c;
cin >> c;
if(c == '1'){
double a = 0, b = 0;
cout << "请输入你要相加的两个数字" << endl;
cin >> a >> b;
double ret = add(a,b);
cout << a << " + " << b << " = " << ret << endl;
}else if(c == '2'){
//申请10int空间
int *arr = new int[5];
int count = 0;
for(int i = 0; i < 5; ++i){
cout << "请输入你要相加的第"<< i+1 << "个数字,如果不想加了,输入-1,最多五个数,请输入整数" << endl;
cin >> arr[i];
if(arr[i] == -1){
break;
}
count++;
}
int ret = 0;
if(count == 3){
ret = add(arr[0], arr[1], arr[2]);
cout << arr[0] << " + " << arr[1] << " + " << arr[2] << " = " << ret << endl;
}else if(count == 4){
ret = add(arr[0], arr[1], arr[2], arr[3]);
cout << arr[0] << " + " << arr[1] << " + " << arr[2] << " + " << arr[3] << " = " << ret << endl;
}else if(count == 5){
ret = add(arr[0], arr[1], arr[2], arr[3], arr[4]);
cout << arr[0] << " + " << arr[1] << " + " << arr[2] << " + " << arr[3] << " + " << arr[4] << " = "<< ret << endl;
}else{
cout << "你输入的参数有误" << endl;
}
//销毁申请的空间
delete []arr;
}else if(c == '3'){
int a = 0, b = 0;
cout << "请输入你要相减的两个数字" << endl;
cin >> a >> b;
int ret = sub(a,b);
cout << a << " - " << b << " = " << ret << endl;
}else if(c == '4'){
int a = 0, b = 0;
cout << "请输入你要相乘的两个数字" << endl;
cin >> a >> b;
int ret = mul(a,b);
cout << a << " * " << b << " = " << ret << endl;
}else if(c == '5'){
int a = 0, b = 0;
cout << "请输入你要相除的两个数字(请输入正整数)" << endl;
cin >> a >> b;
int ret = divi(a,b);
cout << a << " / " << b << " = " << ret << endl;
}
}
return 0;
}