51 lines
1.5 KiB
C
51 lines
1.5 KiB
C
|
/*
|
||
|
* C Program to Count No of Lines, Blank Lines, Comments in a given Program
|
||
|
*/
|
||
|
#include <stdio.h>
|
||
|
|
||
|
void main(int argc, char* argv[])
|
||
|
{
|
||
|
int line_count = 0, n_o_c_l = 0, n_o_n_b_l = 0, n_o_b_l = 0, n_e_c = 0;
|
||
|
FILE *fp1;
|
||
|
char ch;
|
||
|
fp1 = fopen(argv[1], "r");
|
||
|
while ((ch = fgetc(fp1))! = EOF)
|
||
|
{
|
||
|
if (ch == '\n')
|
||
|
{
|
||
|
line_count++;
|
||
|
}
|
||
|
if (ch == '\n')
|
||
|
{
|
||
|
if ((ch = fgetc(fp1)) == '\n')
|
||
|
{
|
||
|
fseek(fp1, -1, 1);
|
||
|
n_o_b_l++;
|
||
|
}
|
||
|
}
|
||
|
if (ch == ';')
|
||
|
{
|
||
|
if ((ch = fgetc(fp1)) == '\n')
|
||
|
{
|
||
|
fseek(fp1, -1, 1);
|
||
|
n_e_c++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
fseek(fp1, 0, 0);
|
||
|
while ((ch = fgetc(fp1))! = EOF)
|
||
|
{
|
||
|
if (ch == '/')
|
||
|
{
|
||
|
if ((ch = fgetc(fp1)) == '/')
|
||
|
{
|
||
|
n_o_c_l++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
printf("Total no of lines: %d\n", line_count);
|
||
|
printf("Total no of comment line: %d\n", n_o_c_l);
|
||
|
printf("Total no of blank lines: %d\n", n_o_b_l);
|
||
|
printf("Total no of non blank lines: %d\n", line_count-n_o_b_l);
|
||
|
printf("Total no of lines end with semicolon: %d\n", n_e_c);
|
||
|
}
|