This is not what you want:
Code:
char (num);
You want to store a name, so you need to store a string, not a single char. Furthermore, the parentheses are unnecessary. What you could do is to decide on a maximum length for the name, and then declare an array one more than that length (for the null character), e.g.,
Code:
char name[50];
Then you use %s with a field length to read the name:
Code:
if (scanf("%49s", name) == 1) {
    /* ... */
}
In the above code snippet, I used 49 since that is the maximum length for the name. I also checked that scanf returned 1, otherwise there must have been some kind of input error.

Oh, and then remember to print using %s, not %d, since you have a string.