Rust學習(8):相互轉換攝氏與華氏溫度【從鍵盤獲取數字】

文章目錄


描述
溫度的刻畫有兩個不同體系:攝氏度(Celsius)和華氏度(Fabrenheit)。
請編寫程序將用戶輸入華氏度轉換爲攝氏度,或將輸入的攝氏度轉換爲華氏度。
轉換算法如下:(C表示攝氏度、F表示華氏度)

  C = ( F - 32 ) / 1.8
  F = C * 1.8 + 32

代碼:

macro_rules! input_num {
    () => {
            {
             let mut input = String::new();

             std::io::stdin().read_line(&mut input)
             .expect("Falied to read line");

             input.trim().parse().unwrap()
        }
    };
}
fn main() {
    loop {
        println!("輸入攝氏溫度:");

        let  celsius_temp:f64  = input_num!();
        let  fabrenheit_temp = celsius_temp * 1.8 + 32.0;
        println!("您輸入攝氏溫度:{}, 相應的華氏度:{}", celsius_temp, fabrenheit_temp);


        println!("輸入華氏溫度:");

        let fabrenheit_temp:f64 = input_num!();
        let celsius_temp = (fabrenheit_temp - 32.0)/1.8;
        println!("您輸入華氏溫度:{}, 相應的攝氏度:{}",  fabrenheit_temp, celsius_temp);
    }
}

結果:
在這裏插入圖片描述
備註:
1、Rust 裏面沒有辦法從鍵盤獲取一個數字類型的值
2、如果小數與整數之間進行數學運算,會出錯
3、參考:http://wiki.jikexueyuan.com/project/rust-primer/io/io.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章