Я действительно не знаю, как решить проблему, поскольку, насколько мне известно, они находятся в двух разных случаях переключения. Если бы кто-нибудь мог мне объяснить, почему это не сработало, или альтернативу для переключения дел, которая могла бы работать более эффективно, это было бы очень признательно
if (StudentDB == NULL){
printf("The file does not exist. Would you like to create one?\nY/N\n");
scanf(" %c", &d);
switch (d){
case 'Y':
case 'y':
{
StudentDB = fopen ("studentdb.txt", "w");
printf("A new file has been created\n");
if (unsaved==1)
{
printf("Would you like to save your unsaved student files to this document\nY/N\n");
scanf(" %c", &e);
switch (e)
case 'Y':
case 'y':
unsaved = 0;
while (printing < student_no){
printing++;
printf("A");
fprintf(StudentDB,"%s %s\t%d\t%d %d %d/t%.2f\n",
arr_student[printing].fname, arr_student[printing].sname, arr_student[printing].UP_no, arr_student[printing].marks_1,
arr_student[printing].marks_2, arr_student[printing].marks_3, arr_student[printing].average_mark);
}
fclose(StudentDB);
printf("saved");
break;
case 'N':
case 'n':
break;
}
}
case 'N':
case 'n':
printf("Returning to menu");
delay(1);
break;
}