How only display all post related to category

You’ve already got code to figure out which category you want to show posts from, here is how you would grab all the posts in that category:

// create a query to grab our posts in category of ID $postcat
$q = new WP_Query(array( 'cat' => $postcat));
if($q->have_posts()){
    // foreach post found
    while($q->have_posts()){
        $q->the_post();
        // code for displaying each post goes here
    }
    // cleanup after the WP_Query, reset the post data
    wp_reset_postdata();
} else {
    // no posts were found!
}

Never use query_posts to do your queries, always check if any posts were actually found, and always cleanup after yourself.

For more arguements for queries, see here:

http://codex.wordpress.org/Class_Reference/WP_Query