Question: How can I only count the lines of code in a source file and ignore the comment lines and blank lines?
For example, if I have a source file as follows how would I only count the lines as described above.
Thanks!
Flight

Code:
#include <stdio.h>
#include <stdlib.h>

int main()
{

//declarations
char file_name[100], line1[10] ;
FILE *inp1, *out1 ;
int count, update_counter ;

   // init some stuf
   count=0 ;
   update_counter = 0 ;

    // prompt the user
    printf("Enter Filename : ")  ;

   // read the keyboard input
    fgets(file_name, sizeof(file_name), stdin);

   //remove the newline character from the end of the filename
   file_name[strlen(file_name) - 1] = '\0' ;

   // open input file
   inp1 = fopen(file_name, "r") ;

    if(inp1 == NULL)	
   {
      fprintf(stderr, "can't open %s\n", file_name) ;
      exit(EXIT_FAILURE) ;
   }

   // open output file #1
   out1 = fopen("output1.txt", "w") ;

    if(out1 == NULL)	
   {
       fprintf(stderr, "can't open %s\n", "output1.txt") ;
       exit(EXIT_FAILURE) ;
   }

    // count the words in the input file
    for ( ;; )
    {
       int ch = fgetc(inp1);
       if ( ch == EOF )
       {
          break;
       }
       if ( isalnum(ch) || ispunct(ch))
       {
          update_counter = 1;

       }
       else if ( isspace(ch) && update_counter )
       {
          count++ ;
          update_counter = 0;
       }
    }

    //for those files that end with lines with no line feeds
    //this will increment the counter one last time...
    if (update_counter)
    {
	  count++;
    }
 
    //write the word count to the output file
    fprintf(out1,"File %s contains %d words \n", file_name, count) ;

    // we're done...close files
    fclose(inp1) ;
    fclose(out1) ;

    return 0;
}