extern crate rand;

use std::io;
use std::cmp::Ordering;
use rand::Rng;

fn main() {
        println!("Guess the number!");

        let secret_number = rand::thread_rng().gen_range(1, 101);

        println!("The secret number is: {}", secret_number);

        loop {
            println!("Please input your guess.");

            let mut guess = String::new();

            io::stdin().read_line(&mut guess)
                .ok()
                .expect("Failed to read line");

            let guess: u32 = guess.trim().parse()
                .ok()
                .expect("Please type a number!");

            println!("You guessed: {}", guess);

            match guess.cmp(&secret_number) {
                Ordering::Less      => println!("Too small!"),
                Ordering::Greater   => println!("Too big!"),
                Ordering::Equal     => println!("You win!"),
            }
        }
}

extern crate rand;

use std::io;
use std::cmp::Ordering;
use rand::Rng;

fn main() {
        println!("Guess the number!");

        let secret_number = rand::thread_rng().gen_range(1, 101);

        println!("The secret number is: {}", secret_number);

        println!("Please input your guess.");

        let mut guess = String::new();

        io::stdin().read_line(&mut guess)
            .ok()
            .expect("Failed to read line");

        let guess: u32 = guess.trim().parse()
            .ok()
            .expect("Please type a number!");

        println!("You guessed: {}", guess);

        match guess.cmp(&secret_number) {
            Ordering::Less      => println!("Too small!"),
            Ordering::Greater   => println!("Too big!"),
            Ordering::Equal     => println!("You win!"),
        }
}

--- 
+++ 
@@ -11,23 +11,25 @@
 
         println!("The secret number is: {}", secret_number);
 
-        println!("Please input your guess.");
+        loop {
+            println!("Please input your guess.");
 
-        let mut guess = String::new();
+            let mut guess = String::new();
 
-        io::stdin().read_line(&mut guess)
-            .ok()
-            .expect("Failed to read line");
+            io::stdin().read_line(&mut guess)
+                .ok()
+                .expect("Failed to read line");
 
-        let guess: u32 = guess.trim().parse()
-            .ok()
-            .expect("Please type a number!");
+            let guess: u32 = guess.trim().parse()
+                .ok()
+                .expect("Please type a number!");
 
-        println!("You guessed: {}", guess);
+            println!("You guessed: {}", guess);
 
-        match guess.cmp(&secret_number) {
-            Ordering::Less      => println!("Too small!"),
-            Ordering::Greater   => println!("Too big!"),
-            Ordering::Equal     => println!("You win!"),
+            match guess.cmp(&secret_number) {
+                Ordering::Less      => println!("Too small!"),
+                Ordering::Greater   => println!("Too big!"),
+                Ordering::Equal     => println!("You win!"),
+            }
         }
 }
Add loop to be able to guess several times
