Мне нужно написать программу c для управления бронированием. Когда я вызываю основную функцию, программа завершается без продолжения. Как исправить эту ошибку? (Я не написал всю программу)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
int i, j, day, x;
char session[10];
int array[2][5] = {{0,0,1,0,1},{1,1,0,0,0}};
char response,ans,choice;
printf("**************** WELCOME TO NAT RESERVATION SYSTEM ****************");
printf("\n\nCHOOSE WHAT TO DO");
printf("\n\n\t\tA.\t\tBOOK THE THEATER");
printf("\n\t\tB.\t\tCHECK RESERRVATIONS");
printf("\n\t\tC.\t\tREMOVE RESERVATIONS");
printf("\n\t\tD.\t\tCALCULATE INCOME");
printf("\n\t\tE.\t\tEXIT");
printf("\n\nYOUR RESPONSE\t\t: ");
scanf("%c",&response);
switch (response){
case 'A': printf("\n\nBOOK THE THEATER"); break;
case 'B': printf("\n\nCHECK RESERRVATIONS"); break;
case 'C': printf("\n\nREMOVE RESERVATIONS"); break;
case 'D': printf("\n\nCALCULATE INCOME"); break;
case 'E': printf("\n\nEXIT"); break;
}
if (response == 'A'){
printf("\n\nCHOOSE A DAY : ");
scanf("%d",&day);
j = day -1;
printf("YOUR SESSION : ");
scanf("%c",session);
fgets(session,10,stdin);
if(strcmp(session,"MORNING")){
i = 0;
}else if(strcmp(session,"AFTERNOON")){
i = 1;
}else{
printf("PLEASE ENTER MORNING OR AFTERNOON");
}
if(array[i][j] == 0){
printf("\n\nTHE SESSION IS AVAILABLE.\nDO YOU WANT TO CONFIRM THE BOOKING?(Y/N) : ");
scanf("%c",&ans);
Я хочу, чтобы программа распечатала главное меню. Итак, я вызвал здесь функцию main ().
if(ans == 'Y' || ans == 'y'){
array[i][j] = 1;
printf("\nYOUR BOOKING WAS SUCCESSFUL!\n\n");
main();
}
}else if(array[i][j] == 1){
printf("\n\nTHE SESSION IS NOT AVAILABLE.");
printf("DO YOU WANT TO TRY ANOTHER SESSION?(Y/N): ");
scanf("%c",&ans);
if(ans == 'Y' || ans == 'y'){
main();
}else if(ans == 'N' || ans == 'n'){
printf("THANK YOU! HAVE A NICE DAY!");
exit(0);
}
}
}
}
Я попытался использовать while l oop. Я не знаю, что поставить в скобки. Пожалуйста, помогите мне. Я новичок в программировании на C, так как большинство из них я изучил онлайн.
while(1){
printf("**************** WELCOME TO NAT RESERVATION SYSTEM ****************");
printf("\n\nCHOOSE WHAT TO DO");
printf("\n\n\t\tA.\t\tBOOK THE THEATER");
printf("\n\t\tB.\t\tCHECK RESERRVATIONS");
printf("\n\t\tC.\t\tREMOVE RESERVATIONS");
printf("\n\t\tD.\t\tCALCULATE INCOME");
printf("\n\t\tE.\t\tEXIT");
printf("\n\nYOUR RESPONSE\t\t: ");
scanf("%c",&response);
switch (response){
case 'A': printf("\n\nBOOK THE THEATER"); break;
case 'B': printf("\n\nCHECK RESERRVATIONS"); break;
case 'C': printf("\n\nREMOVE RESERVATIONS"); break;
case 'D': printf("\n\nCALCULATE INCOME"); break;
case 'E': printf("\n\nEXIT"); break;
}
if (response == 'A'){
printf("\n\nCHOOSE A DAY : ");
scanf("%d",&day);
j = day -1;
printf("YOUR SESSION : ");
scanf("%c",session);
fgets(session,10,stdin);
if(strcmp(session,"MORNING")){
i = 0;
}else if(strcmp(session,"AFTERNOON")){
i = 1;
}else{
printf("PLEASE ENTER MORNING OR AFTERNOON");
}
if(array[i][j] == 0){
printf("\n\nTHE SESSION IS AVAILABLE.\nDO YOU WANT TO CONFIRM THE BOOKING?(Y/N) : ");
scanf("%c",&ans);
if(ans == 'Y' || ans == 'y'){
array[i][j] = 1;
printf("\nYOUR BOOKING WAS SUCCESSFUL!\n\n");
continue;
main();
}
}
if(array[i][j] == 1){
printf("\n\nTHE SESSION IS NOT AVAILABLE.");
printf("DO YOU WANT TO TRY ANOTHER SESSION?(Y/N): ");
scanf("%c",&ans);
if(ans == 'Y' || ans == 'y'){
continue;
main();
}else if(ans == 'N' || ans == 'n'){
printf("THANK YOU! HAVE A NICE DAY!");
exit(0);
}
}
}