Sunday, July 17, 2016

Factorial of Number in Rust

This sample program will ask the user to give a number and then it will compute its factorial equivalent based on the number being provided by the user using Rust as my programming language.

Add me at Facebook my address  is jakerpomperada@gmail.com and jakerpomperada@yahoo.com.

My mobile number here in the Philippines is 09173084360.



Sample Program Output


Program Listing

factorial.rs

// Factorial of Numbers in Rust Programming language.
// Written By: Mr. Jake R. Pomperada, MAED-IT
// July 17, 2016

use std::io::{self, Write};
use std::fmt::Display;
use std::process;

fn factorial (n: i32) -> i32 {
    match n {
        0 => 1,
        _ => n * factorial(n-1)
    }
}

fn main() {
       println!("\n");
       println!("\tFactorial in Rust");
       println!("\n");

    let value: i32 = grab_input("Enter a Number ")
        .unwrap_or_else(|e| exit_err(&e, e.raw_os_error().unwrap_or(-1)))
        .trim()
        .parse()
        .unwrap_or_else(|e| exit_err(&e, 2));

    println!("\n"); 
    println!("The factorial values of {} is {}.",value, factorial(value));
    println!("\n"); 
    println!("End of Program");
}

fn grab_input(msg: &str) -> io::Result<String> {
    let mut buf = String::new();
    print!("{}: ", msg);
    try!(io::stdout().flush());

    try!(io::stdin().read_line(&mut buf));
    Ok(buf)
}

fn exit_err<T: Display>(msg: T, code: i32) -> ! {
    let _ = writeln!(&mut io::stderr(), "Error: {}", msg);
    process::exit(code)
}

No comments:

Post a Comment