I am new to C programming. I was curious as to see how much I have learnt C. Therefore I thought of creating a program in which I could simply create a file and write in it. The name of the file, I thought, should be less that 100 chars. But it doesn't matter if it is a string or one word or a letter. I couldn't complete because I was stuck on fact that how to input a string for a file name(eg, Project work, New Doc1, etc)
So I wrote this;
int main()
{
    int a = 0;
    while(a != 5)
    {
        puts("Put a number: ");
        scanf("%i", &a);
        if(a == 1)
        {
            char name[30];
            printf("Put a name: ->>");
            for(int i = 0;i < 31 && name[i] != '\n';i++)
            {
                name[i] = getchar();
            }
            char ex[50] = ".txt";
            strcat(name,ex);
            printf("%s",name);
        }
    }
    return 0;
}
The problem is while inputting the name, it doesn't stop at the next (when I press enter) and some how it is not printing the right file name either.
 
     
     
    