use std::env;
fn main() {
let args: Vec<String> = env::args().collect();
if args.len() != 4 {
eprintln!("Usage: <operation> <num1> <num2>");
return;
}
let operation = &args[1];
let num1: f64 = match args[2].parse() {
Ok(num) => num,
Err(_) => {
eprintln!("Invalid number: {}", args[2]);
return;
}
};
let num2: f64 = match args[3].parse() {
Ok(num) => num,
Err(_) => {
eprintln!("Invalid number: {}", args[3]);
return;
}
};
let result = match operation {
"add" => num1 + num2,
"sub" => num1 - num2,
"mul" => num1 * num2,
"div" => {
if num2 == 0.0 {
eprintln!("Division by zero is not allowed.");
return;
}
num1 / num2
}
_ => {
eprintln!("Unknown operation: {}", operation);
return;
}
};
println!("Result: {}", result);
}