Я работаю над заданием для своего класса программирования, и первое, что я решил, конечно, сделать главное меню.Но по какой-то причине программа работает не так, как я намереваюсь.
#include <stdio.h>
#include <stdlib.h>
void mainMenu();
void firstChoice();
int main()
{
int main_menu_choice;
int _1returnMenu;
mainMenu();
scanf("%d", &main_menu_choice);
while (main_menu_choice != 0){
switch(main_menu_choice){
case 1:
firstChoice();
scanf("%d", &_1returnMenu);
while (_1returnMenu != 0){
switch (_1returnMenu){
case 1:
firstChoice();
scanf("%d", &_1returnMenu);
break;
case 0:
mainMenu();
scanf("%d", &main_menu_choice);
break;
default:
printf("Invalid option, please try again: \n");
scanf("%d", &_1returnMenu);
break;
}
}
break;
case 0:
exit(0);
default:
printf("Invalid option, please try again: \n");
scanf("%d", &main_menu_choice);
}
}
return 0;
}
void firstChoice(){
printf("Enter the necessary information \n");
printf("Please enter the student's ID: \n");
scanf("%d", &student.id);
printf("Please enter the student's name: \n");
scanf("%s", student.name);
printf("Please enter the gender of the student: \n");
scanf("%s", student.gender);
printf("Please enter the details of the room: \n");
scanf("%s", student.roomDetails);
printf("Please enter the amount due of the student: \n");
scanf("%d", &student.amountDue);
printf("Please enter the amount paid by the student: \n");
scanf("%d", &student.paymentMade);
printf("Do you want to store another hosteler's information? \n");
printf("Type 1 if you wish to continue, Type 0 to go back to the main menu: \n");
return;
}
void mainMenu(){
printf("Welcome! This program will help you in managing the hostel booking
of Wisdom College \n");
printf("Type the number of your option: \n");
printf("1. Store details of hosteler \n");
printf("2. Check room availability \n");
printf("3. Payment Facility \n");
printf("4. Search room details of hosteler \n");
printf("5. To cancel booking of a hosteler \n");
printf("6. Change room type \n");
printf("0. Exit the program \n");
return;
}
Хорошо, поэтому, когда я запускаю программу и выбираю первый вариант, который называется «1.Store details of hosteler», топросто введите некоторую случайную информацию, и после ввода необходимой информации программа спросит меня, хочу ли я продолжать использовать ее или нет.Если я нажму 1, он попросит меня снова заполнить необходимую информацию, а если я нажму 0, она вернется в главное меню.Но дело в том, что когда я набираю 0, он не возвращается к главному меню, вместо этого он просто снова запускает функцию firstChoice()
вместо выполнения регистра 0 в операторе switch.Я почесал голову в течение 2 часов, пытаясь понять, что не так, но я просто не могу понять, что не так.Мне очень жаль, если я не смог правильно сформулировать свою проблему, и спасибо заранее!