Showing posts with label leap year in rust. Show all posts
Showing posts with label leap year in rust. Show all posts

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)
}