吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1081|回复: 2
收起左侧

[其他原创] [rust代码]--温标转换程序_摄氏度/华氏温度

[复制链接]
wjd2002 发表于 2023-11-10 09:33
本帖最后由 wjd2002 于 2023-11-10 09:51 编辑

采用命令行模式运行,实现摄氏度/华氏温度互转功能:
1、摄氏度转为华氏温度
2、华氏温度转为摄氏度
3、退出程序

-------------------------
仅供参考:

界面

界面


源码如下:



use std::fmt::Error;
use std::io::stdin;
use std::num::ParseIntError;



fn c2f<'a>(mut showText: &'a str, mut showText2: &'a str, mut result: f64) -> (&'a str, &'a str, f64) {
    while true {
        println!("请输入摄氏度数值:\n ");
        let mut val = "".to_string();
        stdin().read_line(&mut val).expect("输入错误.");
        if val.trim() != "".to_string() {
            println!("输入摄氏度数值为:{} \n", val);
            showText = "华氏温度";
            showText2 = "";
            let v: f64 = val.trim().parse().unwrap();
            result = v * 1.8 + 32.0;
            //println!("{} {} {} ", showText, showText2, result);
            return (showText, showText2, result);
            //break;
        } else {
            c2f(showText, showText2, result);
        }
    }
    ("", "", 0.0)
}

fn f2c<'a>(mut showText: &'a str, mut showText2: &'a str, mut result: f64) -> (&'a str, &'a str, f64) {
    while true {
        println!("请输入华氏温度数值:\n ");
        let mut val = "".to_string();
        stdin().read_line(&mut val).expect("输入错误.");

        if (val.trim() != "".to_string())
        {
            println!("输入的华氏温度数值为:{} \n", val);
            showText = "摄氏温度";
            showText2 = "";
            let v: f64 = val.trim().parse().unwrap();
            result = (v - 32.0) / 1.8;
            return (showText, showText2, result);
        }else {
            f2c(showText, showText2, result);
        }
    }
    ("", "", 0.0)
}

fn main() {
    println!("欢迎使用温标转换程序, 来自wjd2002\n");

    let state = true;


    while state {
        println!("请选择温度计算公式,输入对应的数字:\n ");
        println!("1、摄氏度转为华氏温度\n ");
        println!("2、华氏温度转为摄氏度\n ");
        println!("3、退出程序\n ");
        println!("请输入对应的数字:\n ");

        let mut value = String::new();
        stdin().read_line(&mut value).expect("Failed to read line.");


        let mut result = 0.0;

        let mut showText = "";
        let mut showText2 = "";
        let mut value_num: i32 = value.trim().parse().unwrap();
        if value_num == 1 {
            (showText, showText2, result) = c2f(showText, showText2, result);

        } else if (value_num == 2)
        {
            (showText, showText2, result) = f2c(showText, showText2, result);

        } else if (value_num == 3)
        {
            std::process::exit(0);
        } else {
            println!("[{}] 输入错误,请输入对应的数字:\n ", value);
        }
        println!("{0}的计算结果:{1:.2}{2} \n", showText, result, showText2);
        println!("====================\n ");
        println!("按任意键继续.....\n ");
        stdin().read_line(&mut value).expect("错误");
    }
}

免费评分

参与人数 3吾爱币 +6 热心值 +2 收起 理由
Yancy-Lan + 1 谢谢@Thanks!
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
lgc81034 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| wjd2002 发表于 2023-11-14 08:39
Yancy-Lan 发表于 2023-11-13 22:53
大佬用什么写的程序

rust,相对比较新的语言
Yancy-Lan 发表于 2023-11-13 22:53
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 21:05

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表