7-20 简单计算器

模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。

输入格式:

输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。

输出格式:

在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。

输入样例:

1+2*10-10/2=

输出样例:

10

#include <stdio.h>
int main(void)
{
	int a, b;
	char op;
	scanf("%d", &a);
	while(1)
	{
		scanf("%c", &op);
		if (op == '=')
			break;
		scanf("%d", &b);
		if ((op == '/') && (b == 0))
		{
			printf("ERROR\n");
			goto end;
		}
		switch (op)
		{
			case '+':
				a += b;
				break;
			case '-':
				a -= b;
				break;
			case '*':
				a *= b;
				break;
			case '/':
				a /= b;
				break;
			default:
				printf("ERROR");
				goto end;
		}
	} 

	printf("%d\n", a);
end:
	return 0;
}
### 创建一个简单计算器程序 #### 使用 Java 编写简单计算器应用程序 为了构建一个能够执行基础数学运算的Java版简易计算器应用,可以采用图形用户界面(GUI),通过`JFrame`来搭建窗口环境,并利用按钮组件模拟实体按键输入。下面是一段简化后的代码片段用于展示这一过程[^1]: ```java import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class SimpleCalculator extends JFrame { private JTextField displayField; public SimpleCalculator(){ setTitle("Simple Calculator"); setSize(300, 400); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); displayField = new JTextField(20); JButton addButton = new JButton("+"); addButton.addActionListener((ActionEvent e) -> performOperation('+')); // Add more buttons and components as needed panel.add(displayField); panel.add(addButton); add(panel); } private void performOperation(char operation){ String currentDisplayValue = displayField.getText().trim(); try{ double currentValue = Double.parseDouble(currentDisplayValue); switch(operation){ case '+': // Perform addition logic here. break; // Handle other operations... } }catch(NumberFormatException ex){ JOptionPane.showMessageDialog(this,"Invalid input","Error",JOptionPane.ERROR_MESSAGE); } } public static void main(String[] args){ SwingUtilities.invokeLater(() -> { SimpleCalculator calcApp = new SimpleCalculator(); calcApp.setVisible(true); }); } } ``` 这段代码展示了如何设置一个带有加法操作符按钮的基础框架;对于完整的四则运算支持,则需进一步扩展。 #### C语言版本简易命令行计算器实例 针对希望快速上手C语言编程的学习者来说,这里给出一段基于控制台交互模式下的小型计算器源码示例[^2]: ```c #include <stdio.h> int main() { char op; float num1, num2; printf("Enter operator either + or - or * or /: "); scanf("%c", &op); printf("Enter two operands: "); scanf("%f %f",&num1,&num2); switch(op) { case '+': printf("%.1f + %.1f = %.1f\n", num1, num2, num1+num2); break; case '-': printf("%.1f - %.1f = %.1f\n", num1, num2, num1-num2); break; case '*': printf("%.1f * %.1f = %.1f\n", num1, num2, num1*num2); break; case '/': if(num2 != 0) printf("%.1f / %.1f = %.1f\n", num1, num2, num1/num2); else puts("Divide by zero error!"); break; default: puts("Error! Invalid Operator."); } return 0; } ``` 此例子实现了四种基本算术运算的功能,在实际开发过程中可根据需求调整和完善功能特性。 #### 利用 PHP 实现 Web 页面上的简易计算器 当涉及到Web开发领域时,PHP同样能用来制作在线使用的简易计算器工具。HTML前端负责收集用户的数值与所选的操作类型,而后端PHP脚本依据接收到的数据完成相应的计算处理并返回结果给浏览器显示[^4]。 服务器端的核心业务逻辑可能像这样被定义: ```php <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $type = $_POST['operation']; $number1 = (float)$_POST['value1']; $number2 = (float)$_POST['value2']; function calculate($a,$b,$operator){ switch ($operator){ case 'addition': return $a+$b; case 'subtraction': return $a-$b; case 'multiplication': return $a*$b; case 'division': if($b!=0)return $a/$b; else throw new Exception('Division By Zero'); default: throw new Exception('Unknown Operation'); } } try{ echo "<h2>Result:</h2>"; echo htmlspecialchars(calculate($number1,$number2,$type)); } catch(Exception $e){ echo '<p>',htmlspecialchars($e->getMessage()),'</p>'; } } ?> <!-- HTML form goes here --> <form method="post"> <select name="operation"> <option value="addition">Add</option> <option value="subtraction">Subtract</option> <option value="multiplication">Multiply</option> <option value="division">Divide</option> </select><br/> <input type="text" name="value1"/><br/> <input type="text" name="value2"/><br/> <button type="submit">Calculate</button> </form> ``` 上述代码提供了一个表单让用户提交两个数以及想要执行的操作种类,随后由PHP函数来进行具体的数值计算工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值