Rust Program to Divide Two Numbers from user input
Program
use std::io;
fn main() {
println!("Division of two numbers from user input:");
println!("Enter the first integer number:");
let mut first = String::new();
io::stdin()
.read_line(&mut first)
.expect("Failed to read from stdin");
let firsttrimmed = first.trim();
let aint: i32 = firsttrimmed.trim().parse().ok().expect("Error! user entered value is not an integer");
match firsttrimmed.parse::<u32>() {
Ok(_i) => println!("Enter the second integer number:"),
Err(..) => println!("Error! user entered value is not an integer: {}", firsttrimmed),
};
let mut second = String::new();
io::stdin()
.read_line(&mut second)
.expect("Failed to read from stdin");
let secondtrimmed = second.trim();
let bint: i32 = secondtrimmed.trim().parse().ok().expect("Error! user entered value is not an integer");
match secondtrimmed.parse::<u32>() {
Ok(_i) => test_division(aint,bint),
Err(..) => println!("Error! user entered value is not an integer: {}", secondtrimmed),
};
}
fn test_division(numerator: i32, denominator: i32) {
match numerator.checked_div(denominator) {
Some(result) => println!("Quotient of numbers {0} and {1} is: {2}", numerator, denominator, result),
None => println!("{} / {} results in a division by zero", numerator, denominator)
}
}
Output 1
$ rustc DivideTwoNumbersFromUserInput.rs
$ ./DivideTwoNumbersFromUserInput
Division of two numbers from user input:
Enter the first integer number:
100
Enter the second integer number:
2
Quotient of numbers 100 and 2 is: 50
Output 2
$ rustc DivideTwoNumbersFromUserInput.rs
$ ./DivideTwoNumbersFromUserInput
Division of two numbers from user input:
Enter the first integer number:
35
Enter the second integer number:
0
35 / 0 results in a division by zero