AzLearn

تمرين إعادة البناء

Simple Calculator

أعد كتابة آلة حاسبة بسيطة تستخدم المطابقة على العملية المطلوبة.

rust ~10 دقيقة مبتدئ
أعد بناء الكود Rebuild

هذا هو الكود. اكتبه بنفسك.

الكود المرجعي
use std::env;

fn main() {
    let args: Vec<String> = env::args().collect();

    if args.len() != 4 {
        println!("Usage: {} <left> <+|-|*|/> <right>", args[0]);
        return;
    }

    // حوّل النص إلى أرقام — Convert text into numbers
    let left: f64 = match args[1].parse() {
        Ok(number) => number,
        Err(_) => {
            println!("Left value is not a number");
            return;
        }
    };

    let right: f64 = match args[3].parse() {
        Ok(number) => number,
        Err(_) => {
            println!("Right value is not a number");
            return;
        }
    };

    // اختر العملية — Choose the operation
    let result = match args[2].as_str() {
        "+" => left + right,
        "-" => left - right,
        "*" => left * right,
        "/" if right != 0.0 => left / right,
        "/" => {
            println!("Cannot divide by zero");
            return;
        }
        _ => {
            println!("Unknown operator: {}", args[2]);
            return;
        }
    };

    println!("{left} {} {right} = {result}", args[2]);
}
اكتب هنا