Sunday, July 17, 2016

Leap Year Checker in Rust

This sample program that I wrote using Rust as my programming language will ask the user to give a year and then our program will determine whether the given year by our user is leap year or not a leap year.

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

leap_year.rs

// Leap Year Checker 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 main() {
       println!("\n");
       println!("\tLeap Year Checker in Rust");
       println!("\n");

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

   if year % 400 == 0 {
    println!("\n"); 
    println!("The year {} is a leap year.",year);
    }
 else if year % 100 == 0 {
    println!("\n"); 
    println!("The year {} is a leap year.",year);
   }
 else if year % 4 == 0 {
    println!("\n"); 
    println!("The year {} is a leap year.",year);
   }
   else {
    println!("\n"); 
    println!("The year {} is not a leap year.",year);
   }
  
  
    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