Head First C, Search Song

The code proposed in the book is buggy. Here is my solution!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
* Declaration: char *strstr(const char *str1, const char *str2);
* Finds the first occurrence of the entire string str2 which appears in the string str1.
* Returns a pointer to the first occurrence of str2 in str1.
* If no match was found, then a null pointer is returned.
* If str2 points to a string of zero length, then the argument str1 is returned.
* Declaration: char *fgets(char *str, int n, FILE *stream);
* Reads a line from the specified stream and stores it into the string pointed to by str.
* It stops when either (n-1) characters are read, 
* the newline character is read, or the end-of-file is reached, whichever comes first.
* The newline character is copied to the string. A null character is appended to the end of the string.
* On success a pointer to the string is returned. On error a null pointer is returned.
* If the end-of-file occurs before any characters have been read, the string remains unchanged.
int main(){
    char tracks[][80] = {
        "I left my heart in Harvard Med School",
        "Newark, Newark - a wonderful town",
        "Dancing with a Dork",
        "From here to maternity",
        "The girl from Iwo Jima",
    puts("Please enter song name to search for: ");
    char searchTerm[20];
    int counter = 0;
    while(counter < 5) {
            return 0;
    puts("Song not found, sorry.");
    return 0;

Also see this.