From a4a8263652b033228af4f43261ef5e37ec9593e6 Mon Sep 17 00:00:00 2001 From: narawat Date: Sun, 26 Apr 2026 11:01:23 +0700 Subject: [PATCH] update --- temperature_converter/julia_version/main.jl | 8 +++ temperature_converter/rust_version/README.md | 0 .../rust_version/src/main.rs | 51 +++++++++++++++++-- 3 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 temperature_converter/rust_version/README.md diff --git a/temperature_converter/julia_version/main.jl b/temperature_converter/julia_version/main.jl index 717777e..62a0429 100644 --- a/temperature_converter/julia_version/main.jl +++ b/temperature_converter/julia_version/main.jl @@ -29,3 +29,11 @@ main() + + + + + + + + diff --git a/temperature_converter/rust_version/README.md b/temperature_converter/rust_version/README.md new file mode 100644 index 0000000..e69de29 diff --git a/temperature_converter/rust_version/src/main.rs b/temperature_converter/rust_version/src/main.rs index 397e4f4..e1162a6 100644 --- a/temperature_converter/rust_version/src/main.rs +++ b/temperature_converter/rust_version/src/main.rs @@ -1,13 +1,54 @@ + /* --------------------------------------------- 100 -------------------------------------------- */ -fn tempconvert(temp :Float) { - +use std::io::stdin; + +fn tempconvert(temp:u32, unit:String) -> (u32, String) { + if unit == "F" { + return (temp - 257, "C".to_string()); + } + else if unit == "F" { + return (temp + 257, "F".to_string()); + } + else { + panic!("something wrong. {unit}") + } } - - fn main() { - println!("Hello, world!"); + println!("please input temperature unit F or C"); + let mut user_input_tempunit = String::new(); + match stdin().read_line(&mut user_input_tempunit) { + Ok(_) => {}, + Err(_) => { + println!("something not right") + } + }; + + let user_input_tempunit = user_input_tempunit.trim().to_string(); + + println!("please input temperature"); + let mut _user_input_temp = String::new(); + match stdin().read_line(&mut _user_input_temp) { + Ok(_) => {}, + Err(_) => { + panic!("Something went wrong"); + } + }; + + let user_input_temp:u32 = match _user_input_temp.trim().parse::() { + Ok(num) => {num}, + Err(_) => { + panic!("Something went wrong"); + } + }; + + let converted_temp = tempconvert(user_input_temp, user_input_tempunit); + let ctemp = converted_temp.0; + let cunit = converted_temp.1; + + println!("{ctemp} {cunit}"); + }