diff options
Diffstat (limited to '')
| -rw-r--r-- | src/fahr2cel/Cargo.toml | 6 | ||||
| -rw-r--r-- | src/fahr2cel/src/main.rs | 31 |
2 files changed, 37 insertions, 0 deletions
diff --git a/src/fahr2cel/Cargo.toml b/src/fahr2cel/Cargo.toml new file mode 100644 index 0000000..e407553 --- /dev/null +++ b/src/fahr2cel/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "fahr2cel" +version = "0.1.0" +edition = "2024" + +[dependencies] diff --git a/src/fahr2cel/src/main.rs b/src/fahr2cel/src/main.rs new file mode 100644 index 0000000..4ea4776 --- /dev/null +++ b/src/fahr2cel/src/main.rs @@ -0,0 +1,31 @@ +use std::io; + +fn main() { + println!("Enter \"q\" to quit."); + + loop { + let mut user_input = String::new(); + + println!("Enter temperature in °F:"); + + io::stdin() + .read_line(&mut user_input) + .expect("Failed to read line."); + + if user_input.trim() == "q" { + println!("Exiting."); + break; + } + + let user_input: f64 = match user_input.trim().parse() { + Ok(num) => num, + Err(_) => continue, + }; + + println!("{user_input}°F -> °C: {:.2}", fahr2cel(user_input)); + } +} + +fn fahr2cel (fahr: f64) -> f64 { + (fahr - 32.0) * 5.0 / 9.0 +} |
