xxxxxxxxxx
fn main() {
let mut num1 = String::new();
let mut num2 = String::new();
let mut operation = String::new();
let result:f64;
println!("enter num1:");
io::stdin()
.read_line(&mut num1)
.expect("num1 is invalid");
println!("enter operator:");
io::stdin().read_line(&mut operation).expect("invalid operation");
println!("enter num2:");
io::stdin()
.read_line(&mut num2)
.expect("num2 is invalid");
let num1_int:f64 = num1.trim().parse().unwrap();
let num2_int:f64 = num2.trim().parse().unwrap();
match operation.trim() {
"+" => result = num1_int + num2_int,
"-" => result = num1_int - num2_int,
"/" => if num2_int == 0.0 {
println!("canot devade by 0");
return;
} else {
result = num1_int / num2_int;
},
"*" => result = num1_int * num2_int,
_ => {
println!("invalid operation");
return;
},
}
println!("The result is: {}", result);
}
xxxxxxxxxx
// Add to Cargo.toml
// rprompt = "1.0.5"
fn main() {
//Taking user input
let a = rprompt::prompt_reply_stdout("Enter first number: ").unwrap();
let b = rprompt::prompt_reply_stdout("Enter second number: ").unwrap();
let cal = rprompt::prompt_reply_stdout("[1] Add [2] Subtract [3] Multiply [4] Divide: ").unwrap();
//Turning input from string to int
let a_int: i32 = a.parse().unwrap();
let b_int: i32 = b.parse().unwrap();
let cal_int: i32 = cal.parse().unwrap();
let mut ans = 0;
if cal_int == 1 {
ans += a_int + b_int;
} else if cal_int == 2 {
ans = a_int - b_int;
} else if cal_int == 3 {
ans = a_int * b_int;
} else if cal_int == 4 {
ans = a_int / b_int;
}
println!("The answer is {}", ans)
}