use std::env; fn print_usage() { eprintln!("error: usage: ftoctof [degrees] [f|c]"); } fn main() { // grab degrees value let degrees: f32 = match env::args().nth(1) { Some(s) => { let attempt: f32 = s.trim().parse() .expect("error: could not parse degrees"); attempt }, None => { print_usage(); return; }, }; // grab scale identifier let scale = match env::args().nth(2) { Some(s) => s.to_lowercase(), None => { print_usage(); return; }, }; // compute and print conversion if scale == "f" { let result: f32 = (degrees - 32.0) * 5.0 / 9.0; println!("{} degrees fahrenheight is {} degrees celcius.", degrees, result); } else if scale == "c" { let result: f32 = degrees * 9.0 / 5.0 + 32.0; println!("{} degrees celcius is {} degrees fahrenheight.", degrees, result); } else { print_usage(); } }