我是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;
}