【问题标题】:Return to the CLI main menu when an option has been selected选择选项后返回 CLI 主菜单
【发布时间】:2021-03-16 07:18:37
【问题描述】:

介绍 - 应用说明

我目前正在开发一个包含 CLI 菜单的控制台应用程序。

该应用程序允许用户通过输入数字来访问各种其他菜单。

问题 - 返回 CLI 主菜单

如果用户在另一个菜单中,我希望用户通过输入数字 5 返回主菜单。

但我不知道如何以编程方式执行此操作。

源代码

 Console.WriteLine(@"



                ┌─────────────────────────────────────────────────────────────────────────┐
                │                                                                         │
                │  Test                                                                   │
                │                                                                         │
                │                                                                         │
                │                                                                         │
                │                                                                         │
                │    1 - Test                                                             │
                │    2 - Test                                                             │
                │    3 - Test                                                             │
                │    4 - Test                                                             │
                │                                                                         │
                │                                                                         │
                │                                                                         │
                │                                                                         │
                └─────────────────────────────────────────────────────────────────────────┘


");

         int _select = Convert.ToInt32(Console.ReadLine());

            if (_select == 1)
            {
                Console.Clear();
                Console.WriteLine(@"



                ┌─────────────────────────────────────────────────────────────────────────┐
                │                                                                         │
                │  Test                                                                   │
                │                                                                         │
                │                                                                         │
                │                                                                         │
                │                                                                         │
                │    1 - Test                                                             │
                │    2 - Test                                                             │
                │    3 - Test                                                             │
                │    4 - Test                                                             │
                │                                                                         │
                │    5 - Exit                                                             │
                │                                                                         │
                │                                                                         │
                └─────────────────────────────────────────────────────────────────────────┘


");

【问题讨论】:

  • 一种明智的方法可能是使用一种方法来打印菜单并等待输入,然后返回选定的选项。然后,您可以在需要显示菜单时调用此方法。此外,您可能需要围绕程序的主要部分进行循环,以便在用户选择相关选项之前它永远不会退出。如果您无法在网上找到基于菜单的控制台程序示例,您可以从中获得灵感,我会感到惊讶。你做了什么研究?

标签: c# input io command-line-interface user-input


【解决方案1】:

为了为应用程序创建一个有效的机制,我们集成了函数

方法可以多种方式集成,以多种不同方式解决问题。


  • 新的类和函数

     public class Menu
      {
          private static int _select;
    
          public static void RootMenu()
          {
              Console.WriteLine(@"
    
    
    
                  ┌─────────────────────────────────────────────────────────────────────────┐
                  │                                                                         │
                  │  Application name                                                       │
                  │                                                                         │
                  │  Description of the application                                         │
                  │                                                                         │
                  │                                                                         │
                  │    1 - Menu                                                             │
                  │    1 - Menu                                                             │
                  │    2 - Menu                                                             │
                  │    3 - Menu                                                             │                                                    
                  │                                                                         │
                  │    5 - Exit                                                             │
                  │                                                                         │
                  └─────────────────────────────────────────────────────────────────────────┘ ");
    

  • 定义显示哪个菜单的用户输入

            _select = Convert.ToInt32(Console.ReadLine());
    
              if (_select == 1)
              {
                  Console.Clear();
    
                  Console.WriteLine(@"
    
    
    
                  ┌─────────────────────────────────────────────────────────────────────────┐
                  │                                                                         │
                  │   1 - Menu                                                              │
                  │                                                                         │
                  │                                                                         │
                  │                                                                         │
                  │                                                                         │
                  │                                                                         │
                  │        1 - Option                                                       │   
                  │                                                                         │
                  │        2 - Option                                                       │
                  │                                                                         │
                  │                                                                         │
                  │                                                                         │
                  │    5 - Exit                                                             │
                  │                                                                         │
                  └─────────────────────────────────────────────────────────────────────────┘ ");
    

  • 执行函数的用户输入

            _select = Convert.ToInt32(Console.ReadLine());
    
                  if (_select == 5)
                  {
                      ReturnRootMenu();
                  }
    
    
              }
    

  • 在类或方法中执行函数时显示主菜单的函数

      public static void ReturnRootMenu()
      {
          Console.Clear();
    
          RootMenu();
    
    
      }
    

【讨论】:

  • 非常感谢。你回答的很专业。我有最后一个问题。你有确切的类的定义吗?
  • 类是复杂的数据类型。类很复杂,因为它们可以存储比原始数据类型更多的数据。
  • 非常感谢! :)
猜你喜欢
  • 2014-11-01
  • 2012-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-16
  • 2011-05-28
  • 1970-01-01
  • 2019-07-11
相关资源
最近更新 更多