int main (){
int id[ms],qid,score[ms],oscores[ms],menu,age[ms],nstud,i, dob[ms],a;
float stime[ms],ttime1[ms], cyctime[ms],ttime2[ms],runtime[ms],otime[ms];
float koswin = 0, ikidswin = 0, ciwin = 0, swimwin = 0, cycwin = 0, runwin =0;
char name[100][ms], sc[100][ms], etype[ms], gender [ms], kwin, iwin,
cwin,word[100],pname[100],psc[100];
FILE *fh;
FILE *fp;
fh=fopen("participants.txt","a");
printf("Would you like to:\n");
printf("1.Register participants\n");
printf("2.Access a participant's details\n");
scanf("%d",&menu);
system("cls");
if (menu == 1)
{
printf("Please enter number of participants you would like to register\n");
scanf("%d",&nstud);
for (i = 0; i < nstud; i++){
printf("Please enter the the ID number of the participant:\n");
scanf("%d",&id[i]);
printf("Please enter the participant's name:\n");
fgets(pname, sizeof(pname), stdin);
strcpy(sc[i], pname);
printf("Please enter the participant's School/Club:\n");
fgets(psc, sizeof(psc), stdin);
strcpy(sc[i], psc);
}
for (i= 0; i < nstud; i++ )
fprintf(fh,"\n%d\t\n%s\t",id[i],name[i]);
fclose(fh);
}
The code works up until I am to enter the name it skips over the name and goes to the school input but it doesn't even accept the school name. It continues by skipping another input. I first had scanf("%s", name[i]) and scanf("%s", sc[i]) and that worked perfectly but I wanted the user to be able to enter a space. So is there a way to accept a string that is apart of a parallel array with space and write it to a file?