File: 1477699458489.png (80.15 KB, 300x300, logo-v2.png)
fn read_float() -> f32{
let reader = std::io::stdin();
let mut input_text = String::new();
reader.read_line(&mut input_text).ok().expect("failed to read line");
let input_opt: Option<f32> = input_text.trim().parse::<f32>().ok();
let input_float = match input_opt {
Some(input_float) => input_float,
None => {
println!("please input a number");
return -1.0;
}
};
input_float
}
fn read_int() -> i32{
let reader = std::io::stdin();
let mut input_text = String::new();
reader.read_line(&mut input_text).ok().expect("failed to read line");
let input_opt: Option<i32> = input_text.trim().parse::<i32>().ok();
let input_int = match input_opt {
Some(input_int) => input_int,
None => {
println!("please input a number");
return -1;
}
};
input_int
}
fn read_input<T: FromStr>(default_val: T) -> T {
let reader = std::io::stdin();
let mut input_text = String::new();
reader.read_line(&mut input_text).ok().expect("failed to read line");
let input_opt = input_text.trim().parse::<T>().ok();
match input_opt {
Some(x) => x,
None => {
println!("please input a number");
return default_val;
}
}
}