C# 如何返回包含多个菜单的主菜单?
如果我的程序中有很多菜单,我如何在不使用任何循环的情况下返回主菜单。 假设我需要“Y”表示返回,需要“N”表示结束程序C# 如何返回包含多个菜单的主菜单?,c#,C#,如果我的程序中有很多菜单,我如何在不使用任何循环的情况下返回主菜单。 假设我需要“Y”表示返回,需要“N”表示结束程序 static void Main(string[] args) {int choice; Console.WriteLine("Main Menu"); Console.WriteLine("1. Rent"); Console.WriteLine("2. Return"); Console.WriteLi
static void Main(string[] args)
{int choice;
Console.WriteLine("Main Menu");
Console.WriteLine("1. Rent");
Console.WriteLine("2. Return");
Console.WriteLine("3. Exit");
choice = Convert.ToInt32(Console.ReadLine());
while (choice!= 3)
{
if (choice ==1)
{...
//when complete all thing in choice 1
Console.WriteLine("Do you want to start over?(Y=Yes,N=No)");
// in this part i need to go back to main menu with "Y" input and close program with "N"input
}
if (choice ==2)
{...
//when complete all thing in choice 2
Console.WriteLine("Do you want to start over?(Y=Yes,N=No)");
// doing like choice 1 }
我会以不同的方式编写它,但基于您的代码,这将得到您想要的
static void Main(string[] args)
{
int choice = 0;
while (choice != 3)
{
Console.WriteLine("Main Menu");
Console.WriteLine("Rent=1");
Console.WriteLine("Return=2");
Console.WriteLine("Exit=3)");
choice = GetUserChoice("What is your choice?", choice);
if (choice == 1)
{
//when complete all thing in choice 1
choice = GetUserChoice("Do you want to start over?(Y=1,N=3)", choice);
}
else if(choice == 2)
{
//when complete all thing in choice 2
choice = GetUserChoice("Do you want to start over?(Y=1,N=3)", choice);
}
}
}
private static int GetUserChoice(string question, int choice)
{
Console.WriteLine(question);
return Convert.ToInt32(Console.ReadLine());
}
请注意,在选项中,当它询问重新开始时,我会让用户输入1表示Y(是),输入3表示N(否)。我无法理解您的要求。您是否有代码、图片或其他需要澄清的内容?这一点非常不清楚。你们至少需要提供一些关于这个程序应该如何运行的伪代码。很抱歉这个问题不清楚,我已经在更新我的问题了@TheWiseGod抱歉,我对编程和这个网站非常陌生。@mmking我是否需要将GetUserChoice声明为int。@TheWiseGod在这个场景中,是的。因为这是您希望从用户那里读取和解析的内容。如果您接受字符串而不是解析为int,那么返回类型将是string。