skipping blank lines and comments lines. · Report of the File Name and file LOC

· First, the user enters the file name. · The program should open the file that entered by user. · The program should count the whole lines of codes only, skipping blank lines and comments lines. · Report of the File Name and file LOC count, each function name and the corresponding function LOC I attach the requirement and screenshot of how the output should, and the test file to test the code as an example. /************************************************************************** ** ** Module Name: LOCTest.c ** ** Module Description: ** LOCTest.c is intended to test the functionality of LOC Counting programs ** for C, C++ and Java. ** *************************************************************************** ** ** Author: Benjamin D. Sweet ** Revision: 1.1 ** Creation Date: 23-May-2005 ** Edit Date: 05-Feb-2012 ** *************************************************************************** ** ** Revision story: ** ** Revision: 1.1 05-Feb-2012 B.Sweet ** * Added Header Comment block. ** * In function2(), moved the beginning of one multi-line C Block Comment ** from an otherwise blank line to begin after text. ** * Placed “Total Program LOC: 25” AFTER the end of a C Block Comment. ** (BAD programming style!! But technically a valid test case.) ** ** Revision: 1.0 23-May-2005 B.Sweet ** * Original version. ** **************************************************************************/ // line comment /* Block Comment */ /* ** Multi-line block comment; */ #include int long prototype1(argument); int long prototype2 ( argument ) ; int long function1 (int arg1, char arg2) { // line comment in function /* Block Comment in Function */ if (condition) { statement; } Function1 LOC: 8 /* ** Multi-line block comment in function; */ } void function2 ( void ) { // line comment in function /* Block Comment in Function */ for (init ; condition ; increment ) { if (condition) { statement; // In-Line comment } else { statement; /* In-Line comment */ } } Function2 LOC: 13 /* ** In-Line multi-line block comment in function; */ } /* Text after