Search code examples
cnumberslines

Programing C - Auto numbering for lines?


how could I make my function to look that way?

  F.Name        L.Name            Grade
  ......        ......            .....
1)Martin        Peter               7
2)Rani          Sari                9
3)Kara          Sandler             4
4)Charlie       Adam                5

My function looks like this :

Martin        Peter               7
Rani          Sari                9
Kara          Sandler             4
Charlie       Adam                5

And the C-Code look like this

#include <stdio.h>
#include <stdlib.h>
 int main(int argc, char** argv) {
        char f[500]; 
        char set;
        char line[100];
        FILE *filename;

        printf("Name of file?: ");
        scanf("%s", f); 
        filename = fopen(f, "r");

        if((filename == NULL)){
        printf("error!\n");
        return;
        }
        else (
        printf("\n")
        );

        while ( fgets (line , sizeof line, filename) != NULL )
        {
            fputs (line, stdout );
        } 
}

so how can I put a number for each row,

First Name, Last Name and Grade?


Solution

  • You can do like:

    i=1;
    while ( fgets (line , sizeof line, filename) != NULL )
    {
         printf("%3d)",i);
         fputs (line, stdout );
         i++;
    } 
    

    Actually you should use printf function if you care about output format.

    printf("%-15s  %-15s  %-15s\n","F.Name","L.Name", "Grade");
    printf("%*s %*s %*s",5,".",5,".",5,".");
    

    place this code before wile loop