From ef1bf4921ee4127d461eec03a14c9070d193345c Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Mon, 11 Feb 2019 16:59:01 -0500 Subject: Init. --- ftoctof/.gitignore | 2 ++ ftoctof/Cargo.lock | 4 ++++ ftoctof/Cargo.toml | 7 +++++++ ftoctof/src/main.rs | 43 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 56 insertions(+) create mode 100644 ftoctof/.gitignore create mode 100644 ftoctof/Cargo.lock create mode 100644 ftoctof/Cargo.toml create mode 100644 ftoctof/src/main.rs (limited to 'ftoctof') diff --git a/ftoctof/.gitignore b/ftoctof/.gitignore new file mode 100644 index 0000000..53eaa21 --- /dev/null +++ b/ftoctof/.gitignore @@ -0,0 +1,2 @@ +/target +**/*.rs.bk diff --git a/ftoctof/Cargo.lock b/ftoctof/Cargo.lock new file mode 100644 index 0000000..e716471 --- /dev/null +++ b/ftoctof/Cargo.lock @@ -0,0 +1,4 @@ +[[package]] +name = "ftoctof" +version = "0.1.0" + diff --git a/ftoctof/Cargo.toml b/ftoctof/Cargo.toml new file mode 100644 index 0000000..544eb2b --- /dev/null +++ b/ftoctof/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "ftoctof" +version = "0.1.0" +authors = ["Adam Carpenter "] +edition = "2018" + +[dependencies] diff --git a/ftoctof/src/main.rs b/ftoctof/src/main.rs new file mode 100644 index 0000000..6425344 --- /dev/null +++ b/ftoctof/src/main.rs @@ -0,0 +1,43 @@ +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(); + } + +} -- cgit v1.2.3