如何从交换机返回?c#
在我添加了积分后,我想让它再次返回显示主菜单。这样做的方法是什么?还有更简单的方法吗?我对编程不是很有经验如何从交换机返回?c#,c#,switch-statement,C#,Switch Statement,在我添加了积分后,我想让它再次返回显示主菜单。这样做的方法是什么?还有更简单的方法吗?我对编程不是很有经验 Console.WriteLine("-------------------------------"); Console.WriteLine(""); Console.WriteLine(" VENDING MACHINIES LTD");
Console.WriteLine("-------------------------------");
Console.WriteLine("");
Console.WriteLine(" VENDING MACHINIES LTD");
Console.WriteLine("");
Console.WriteLine("-------------------------------");
Console.WriteLine(" Main Menu");
Console.WriteLine("");
Console.WriteLine("1 - Add Credits (current credits= 0.00)");
Console.WriteLine("2 - Select product/s");
Console.WriteLine("3 - Exit");
Cons
您可以使用while(true)循环菜单,并返回退出应用程序
Console.WriteLine("-------------------------------");
Console.WriteLine("");
Console.WriteLine(" VENDING MACHINIES LTD");
Console.WriteLine("");
Console.WriteLine("-------------------------------");
while(true)
{
Console.WriteLine(" Main Menu");
Console.WriteLine("");
Console.WriteLine("1 - Add Credits (current credits= 0.00)");
Console.WriteLine("2 - Select product/s");
Console.WriteLine("3 - Exit");
Console.WriteLine("");
Console.Write("Please Enter A Number: ");
choice = Convert.ToInt32(Console.ReadLine());
while (choice < 1 || choice > 3)
{
Console.Write("Incorrect option. Please Re-Enter: ");
choice = Convert.ToInt32(Console.ReadLine());
}
switch (choice)
{
case 1:
Console.Write("How Many Credits Would You Like To Add? ");
credits = Convert.ToInt32(Console.ReadLine());
Console.Write("You Now Have {0} Credits", credits);
Console.WriteLine("");
Console.Write("Press return to go back to the main menu");
Console.ReadLine();
break;
case 2:
Console.WriteLine();
break;
case 3:
Console.WriteLine("Bye-bye");
return;
}
}
Console.WriteLine(-------------------------------------);
控制台。写线(“”);
Console.WriteLine(“自动售货机有限公司”);
控制台。写线(“”);
Console.WriteLine(“-----------------------------------------”;
while(true)
{
Console.WriteLine(“主菜单”);
控制台。写线(“”);
Console.WriteLine(“1-添加学分(当前学分=0.00)”;
Console.WriteLine(“2-选择产品”);
控制台写入线(“3-退出”);
控制台。写线(“”);
控制台。写入(“请输入一个数字:”);
choice=Convert.ToInt32(Console.ReadLine());
而(选项<1 | |选项>3)
{
控制台。写入(“选项不正确。请重新输入:”);
choice=Convert.ToInt32(Console.ReadLine());
}
开关(选择)
{
案例1:
控制台。写下(“您想添加多少学分?”);
credits=Convert.ToInt32(Console.ReadLine());
Write(“您现在有{0}个学分”,学分);
控制台。写线(“”);
控制台。写入(“按回车键返回主菜单”);
Console.ReadLine();
打破
案例2:
Console.WriteLine();
打破
案例3:
Console.WriteLine(“再见”);
返回;
}
}
尝试以下代码:
var returnBack = true;
do
{
Console.WriteLine("-------------------------------");
Console.WriteLine("");
Console.WriteLine(" VENDING MACHINIES LTD");
Console.WriteLine("");
Console.WriteLine("-------------------------------");
Console.WriteLine(" Main Menu");
Console.WriteLine("");
Console.WriteLine("1 - Add Credits (current credits= 0.00)");
Console.WriteLine("2 - Select product/s");
Console.WriteLine("3 - Exit");
Console.WriteLine("");
Console.Write("Please Enter A Number: ");
choice = Convert.ToInt32(Console.ReadLine());
while (choice < 1 || choice > 3)
{
Console.Write("Incorrect option. Please Re-Enter: ");
choice = Convert.ToInt32(Console.ReadLine());
}
switch (choice)
{
case 1:
Console.Write("How Many Credits Would You Like To Add? ");
credits = Convert.ToInt32(Console.ReadLine());
Console.Write("You Now Have {0} Credits", credits);
Console.WriteLine("");
Console.Write("Press return to go back to the main menu");
Console.ReadLine();
break;
case 2:
Console.WriteLine();
break;
case 3:
returnBack=false;
break;
}
} while (returnBack);
var returnBack=true;
做
{
Console.WriteLine(“-----------------------------------------”;
控制台。写线(“”);
Console.WriteLine(“自动售货机有限公司”);
控制台。写线(“”);
Console.WriteLine(“-----------------------------------------”;
Console.WriteLine(“主菜单”);
控制台。写线(“”);
Console.WriteLine(“1-添加学分(当前学分=0.00)”;
Console.WriteLine(“2-选择产品”);
控制台写入线(“3-退出”);
控制台。写线(“”);
控制台。写入(“请输入一个数字:”);
choice=Convert.ToInt32(Console.ReadLine());
而(选项<1 | |选项>3)
{
控制台。写入(“选项不正确。请重新输入:”);
choice=Convert.ToInt32(Console.ReadLine());
}
开关(选择)
{
案例1:
控制台。写下(“您想添加多少学分?”);
credits=Convert.ToInt32(Console.ReadLine());
Write(“您现在有{0}个学分”,学分);
控制台。写线(“”);
控制台。写入(“按回车键返回主菜单”);
Console.ReadLine();
打破
案例2:
Console.WriteLine();
打破
案例3:
returnBack=false;
打破
}
}while(返回);
您可以使用递归方法,我还建议您提取“菜单”控制台写入行。请查看以下内容:
static void Main(string[] args)
{
DisplayMenu();
var choice = Convert.ToInt32(Console.ReadLine());
// Final response
choice = DisplayMenu(choice);
}
public static void DisplayMenu()
{
Console.WriteLine(" Main Menu");
Console.WriteLine("");
Console.WriteLine("1 - Add Credits (current credits= 0.00)");
Console.WriteLine("2 - Select product/s");
Console.WriteLine("3 - Exit");
Console.WriteLine("");
Console.Write("Please Enter A Number: ");
}
// Recursive overload
public static int DisplayMenu(int choice)
{
// If invalid input
if (choice<1 || choice>3)
{
Console.Write("Incorrect option. Please Re-Enter: ");
Console.WriteLine();
DisplayMenu();
return DisplayMenu(Convert.ToInt32(Console.ReadLine()));
}
// If valid show one more time the menu
DisplayMenu();
return Convert.ToInt32(Console.ReadLine());
}
static void Main(字符串[]args)
{
显示菜单();
var choice=Convert.ToInt32(Console.ReadLine());
//最后答复
选择=显示菜单(选择);
}
公共静态无效显示菜单()
{
Console.WriteLine(“主菜单”);
控制台。写线(“”);
Console.WriteLine(“1-添加学分(当前学分=0.00)”;
Console.WriteLine(“2-选择产品”);
控制台写入线(“3-退出”);
控制台。写线(“”);
控制台。写入(“请输入一个数字:”);
}
//递归重载
公共静态整数显示菜单(整数选项)
{
//如果输入无效
如果(选项3)
{
控制台。写入(“选项不正确。请重新输入:”);
Console.WriteLine();
显示菜单();
返回显示菜单(Convert.ToInt32(Console.ReadLine());
}
//如果有效,请再次显示菜单
显示菜单();
返回Convert.ToInt32(Console.ReadLine());
}
非常感谢您的帮助。非常感谢@约翰:非常感谢对我来说太多了,如果你接受这个答案就足够了。谢谢!有没有可能我可以给你发个口信要求更多的帮助?