100-days-of-rust/Week-05/Day-30_The-Maximum-Value/day30/src/main.rs

47 lines
1.1 KiB
Rust

use std::io::{self, Write};
use std::process::exit;
use day30::max_value;
fn main() {
let mut buffer = String::new();
print!("Insert the starting number: ");
io::stdout().flush().expect("Failed to flush stdout");
io::stdin()
.read_line(&mut buffer)
.expect("Failed to read line");
let n: isize = match buffer.trim().parse() {
Ok(n) => n,
Err(_) => {
eprintln!("Invalid number");
exit(1);
}
};
buffer.clear();
print!("Insert the digit to add to the number: ");
io::stdout().flush().expect("Failed to flush stdout");
io::stdin()
.read_line(&mut buffer)
.expect("Failed to read line");
let digit: char = match buffer.trim().parse() {
Ok(digit) => digit,
Err(_) => {
eprintln!("Invalid digit");
exit(1);
}
};
let result = max_value(n, digit);
match result {
Ok(result) => println!("The maximum value possible is: {}", result),
Err(e) => eprintln!("Error: {}", e),
}
}