SCANF返回值忽略和功能修补;不同的基本类型



我是C编程的新手,并且正在尝试为我的作业做预订系统。我多次面对这个错误,不知道如何解决。

我已经尝试了Visual Studio建议将SCANF更改为scanf_s的建议。但是,这也行不通。至于功能未知错误,我不知道在哪里修复它。

#include <stdio.h>
#include <stdlib.h>
char MainMenu()
{
   int sel;
   sel = 1, 2, 3, 4;
   printf("WELCOME TO WISDOM COLLEGE HOTELnn");
   printf("Please choose your desired service:n");
   printf("1.Bookingn");
   printf("2.Check Room Availabilityn");
   printf("3.Payment detailn");
   printf("4.Exitn");
   if (scanf_s("%d",&sel) == 1) {
       return Booking();
   }
   else if (scanf_s("%d", &sel) == 2) {
       return Room();
   }
   else if (scanf_s("%d", &sel) == 3) {
       return Payment();
   }
}
char Booking()
{
   int selBook;
   printf("tttt BOOKINGnn");
   printf("Book base on:n");
   printf("1.Gendern");
   printf("2.Room Typen");
   printf("3.Back to Main Menun");
   scanf_s("%d", &selBook);
   printf("n%d", selBook);
}
char Room()
{
   int selRoom;
   printf("ttt ROOM AVAILABILITYnn");
   printf("Check room availability by:n");
   printf("1.Typen");
   printf("2.Gendern");
   if (scanf_s("%d", &selRoom) == 1) {
       return 0;
   }
}
char main()
{
   char MainMenu;
   char Booking;
   char Payment;
   char Room;
   return MainMenu;
}

我希望该程序运行,因此Mainmenu首先运行,并基于用户输入,它将从预订到退出。

您应该首先获取输入,然后检查它是什么。

scanf_s不返回您输入的输入的值,它的返回值是成功转换和分配的字段数。因此,您应该首先获取输入并将其保存在内存中,然后检查其价值。

另外,我不知道您尝试使用mainmenu做什么,这是char main((的返回值(我认为使用char main的常见 - 使用 int void主iStead(:

#include <stdio.h>
#include <stdlib.h>
char MainMenu();
char Booking();
char Payment();
char Room();
char MainMenu()
{
   int sel;
   sel = 1, 2, 3, 4;
   printf("WELCOME TO WISDOM COLLEGE HOTELnn");
   printf("Please choose your desired service:n");
   printf("1.Bookingn");
   printf("2.Check Room Availabilityn");
   printf("3.Payment detailn");
   printf("4.Exitn");
   scanf_s("%d",&sel)
   if (sel == 1) {
       return Booking();
   }
   else if (sel == 2) {
       return Room();
   }
   else if (sel == 3) {
       return Payment();
   }
}
char Booking()
{
   int selBook;
   printf("tttt BOOKINGnn");
   printf("Book base on:n");
   printf("1.Gendern");
   printf("2.Room Typen");
   printf("3.Back to Main Menun");
   scanf_s("%d", &selBook);
   printf("n%d", selBook);
}
char Room()
{
   int selRoom;
   printf("ttt ROOM AVAILABILITYnn");
   printf("Check room availability by:n");
   printf("1.Typen");
   printf("2.Gendern");
   if (scanf_s("%d", &selRoom) == 1) {
       return 0;
   }
}
int main()
{
   MainMenu();
   return 0;
}

相关内容

最新更新