使用rust写一个计算器
时间: 2024-10-08 09:07:53 浏览: 72
在 Rust 中编写一个简单的计算器,我们可以创建一个命令行界面的计算器。首先,我们需要导入一些必要的库,并定义基本的数据结构和函数。这里是一个基础版本的示例:
```rust
use std::io;
// 定义加法、减法、乘法和除法的闭包函数
fn add(x: i32, y: i32) -> i32 {
x + y
}
fn subtract(x: i32, y: i32) -> i32 {
x - y
}
fn multiply(x: i32, y: i32) -> i32 {
x * y
}
fn divide(x: i32, y: i32) -> Option<i32> { // 返回Option是因为除数不能为0
if y == 0 {
None
} else {
Some(x / y)
}
}
fn main() {
println!("简易计算器:");
loop {
print!("请输入操作(+、-、*、/ 或 q 退出): ");
let input = io::stdin().read_line().expect("读取输入失败");
let mut tokens = input.trim().split_whitespace();
match tokens.next()? {
"q" => break,
_ => {
let num1 = tokens.next()?.parse::<i32>().unwrap();
let operator = tokens.next()?;
let num2 = tokens.next()?.parse::<i32>().unwrap();
match operator {
"+" => println!("{} {} = {}", num1, operator, add(num1, num2)),
"-" => println!("{} {} = {}", num1, operator, subtract(num1, num2)),
"*" => println!("{} {} = {}", num1, operator, multiply(num1, num2)),
"/" => match divide(num1, num2) {
Some(result) => println!("{} {} = {}", num1, operator, result),
None => println!("错误:除数不能为0"),
},
_ => println!("无效的操作符"),
}
}
}
}
println!("感谢使用!");
}
```
阅读全文