我正在尝试制作一个开关实例计算器,它将要求一个表达式(例如2+2)并打印答案,重复这个过程直到用户输入'q'。
int main() {
double operand1;
double operand2;
char operation;
double answer;
while (operation != 'q'){
cout << "Enter an expression:""\n";
cin >> operand1 >> operation >> operand2;
switch(operation)
{
case '+':
answer = (operand1 + operand2);
break;
case '-':
answer = (operand1 - operand2);
break;
case '*':
answer = (operand1 * operand2);
break;
case '/':
answer = (operand1 / operand2);
break;
default:
cout << "Not an operation :/";
return 0;
}
cout <<operand1<<operation<<operand2<< "=" << answer<< endl;
}
return 0;
}
由于您正在一次读取3个变量,当您在控制台中键入q
时,它将被分配给operand1
,而不是operation
,后者是while
循环的终止符-因此,将启动无限循环。
基本问题是应用程序的逻辑。该代码的最快解析如下:
int main() {
double operand1;
double operand2;
char operation;
char more = 'y';
double answer;
while (more != 'n') {
cout << "Enter an expression:""\n";
cin >> operand1 >> operation >> operand2;
switch (operation)
{
case '+':
answer = (operand1 + operand2);
break;
case '-':
answer = (operand1 - operand2);
break;
case '*':
answer = (operand1 * operand2);
break;
case '/':
answer = (operand1 / operand2);
break;
default:
cout << "Not an operation :/";
return 0;
}
cout << operand1 << operation << operand2 << "=" << answer << endl;
cout << "Continue? (y/n) ";
cin >> more;
}
return 0;
}
问题内容: 我需要在检查的同时将以下更改为- ,以改善圈复杂度。 但是我不确定我将获得什么价值。 问题答案: Java(版本7之前的版本)在switch / case中不支持String。但是您可以通过使用枚举来达到预期的结果。
我一直在玩流,然后我注意到当我执行以下操作时,它不会在控制台中产生输出: 我认为这是因为是一个非终止流方法,应该使用而不是来终止流并生成结果: 然而,是否有一种方法可以‘提前’终止流,使用一个自定义的终止方法(函数接口),它除了终止流之外什么都不做?..有没有一个适当的方法来利用Java现有的东西来做到这一点? 我知道我可以这样做: 但那感觉很浪费。
问题内容: 很抱歉那个愚蠢的问题。如何在javascript切换大小写语言元素中为案件使用条件?像下面的示例一样,当变量<= 5和> 0 时,大小写应该匹配;但是,我的代码不起作用: 感谢您的任何建议! 问题答案: 这有效: 此答案的先前版本认为括号是罪魁祸首。实际上,括号在这里是无关紧要的-唯一必要的是您的case表达式必须为布尔值。 之所以起作用,是因为我们将给开关的值用作比较的依据。因此,同
我有一个XML文件,其中包含一个带有特殊字符或转义字符的元素。当我将该文件解组为Java对象时,JAXB会自动转义这些字符。但是,我不希望转义它们,应该用XML文件中存在的任何值填充对象。我的XML文件片段如下所示: 我的JAXB订单类如下所示: 在解组时,Order类对象的名称字段的值为“Order one” 我知道将这个值放在CDATA中的解决方案,这样它就不会被转义,但是我正在解组的XML文
问题内容: 我使用带有标签的php docker容器作为基础: 当我尝试重新启动容器内的apache2时,容器停止: 如何在不停止容器的情况下重新启动apache2? 在将更改放入dockerfile之前,我想使用容器并对其进行自定义。我想安装一些扩展程序,为了使其正常工作,我需要重新启动apache才能使更改生效。 这是通过以下文件的日志文件: 问题答案: 如果将apache用作保持运行容器的主
获取“未终止字符类”错误。 如何修复? 短暂性脑缺血发作 这是我点击运行按钮时的屏幕打印(请注意错误信息):