我是编程新手,我通过制作计算器给了自己一个挑战,但是当我想多次使用指数模式时,它会将指数相加而不是重新启动整个过程,任何人都可以帮助我吗?另外,如果您对初学者的未来项目有一些提示,或者您有一些提示,请与我分享,非常感谢!:) 这是我的代码:
int main()
{
long double num1,num2,result;
char op,redo;
result = 1;
do
{
cout << "Give the operation! (e.g.: 2+3) aviable: + - * / ^" << endl;
cin >> num1 >> op >> num2;
if (op == '+' || '-' || '*' || '/' || '^')
{
switch (op)
{
case '+':
cout << endl << "Your solution is:" << num1 + num2;
break;
case '-':
cout << endl << "Your solution is:" << num1 - num2;
break;
case '*':
cout << endl << "Your solution is:" << num1 * num2;
break;
case '/':
if (num2 != 0)
{
cout << endl << "Your solution is:" << num1 / num2;
}
else
{
cout << endl << "We cannot devide by 0!";
}
break;
case '^':
while (num2 != 0) {
result *= num1;
--num2;
}
cout << "Your solution is:" << result;
break;
default:
cout << "This operation cannot be processed!";
break;
}
}
else
{
cout << "Wrong operation!";
}
cout << endl << "Would you like to restart? [Y/N]" << endl;
cin >> redo;
} while (redo == 'y' || redo == 'Y');
return 0;
}
您需要在result
每次进入循环之前重置:
case '^':
result = 1; // <--- add this
while (num2 != 0) {
result *= num1;
--num2;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句