已回答 退出键

DixreuX

新成员
已加入
2020年9月24日
留言内容
2
编程经验
Beginner
我有一个任务,我必须创建一个计算器,并且我需要能够通过按ESC键来关闭cmd.exe。计算器正在按预期工作,并且由于我的while循环而重新启动。我的
问题是,我似乎无法找到一种使"随时使用ESC键退出"功能正常工作(这就是为什么下面没有转义键代码的原因)

7个小时以上的故障排除和谷歌搜索,几乎无法实现ESC功能。

难道我做错了什么?
有人有可行的解决方案吗?

香港专业教育学院尝试了所有可能找到的解决方案和方法,但仍然无济于事。
下面的完整代码是我的程序和while循环,而我发布所有代码的原因是因为我不确定我应该在代码中的哪个位置实现转义键功能(找不到这些问题的单个答案,这是为什么我绝望。)

C#:
static void Main(string[] args)
{
    while (true) {
        Console.WriteLine("Tryk ESC for at stoppe ellers tryk ENTER");
        Console.WriteLine("Velkommen til ConCalc");
        Console.WriteLine("---------------------");
        Console.WriteLine("1. Plus");
        Console.WriteLine("2. Træk fra");
        Console.WriteLine("3. Gange");
        Console.WriteLine("4. Dividere");
        Console.WriteLine("5. Nettoløn");
        Console.WriteLine("6. Kørselsfradrag");
        Console.WriteLine("---------------------");
        Console.Write("Vælg funktion: ");
        string funktion = Console.ReadLine();
        double resultat = 0;

        if (funktion == "1") {
            Console.Write("Tal 1: ");
            string tal1 = Console.ReadLine();
            Console.Write("Tal 2: ");
            string tal2 = Console.ReadLine();
            resultat = Convert.ToDouble(tal1) + Convert.ToDouble(tal2);
        }
        else if (funktion == "2") {
            Console.Write("Tal 1: ");
            string tal1 = Console.ReadLine();
            Console.Write("Tal 2: ");
            string tal2 = Console.ReadLine();
            resultat = Convert.ToDouble(tal1) - Convert.ToDouble(tal2);
        }
        else if (funktion == "3") {
            Console.Write("Tal 1: ");
            string tal1 = Console.ReadLine();
            Console.Write("Tal 2: ");
            string tal2 = Console.ReadLine();
            resultat = Convert.ToDouble(tal1) * Convert.ToDouble(tal2);
        }
        else if (funktion == "4") {
            Console.Write("Tal 1: ");
            string tal1 = Console.ReadLine();
            Console.Write("Tal 2: ");
            string tal2 = Console.ReadLine();
            resultat = Convert.ToDouble(tal1) / Convert.ToDouble(tal2);
        }
        else if (funktion == "5") {
            int hun = 100;
        
            Console.Write("Indtast din bruttoløn ");
            String bruttoløn = Console.ReadLine();
            Console.Write("Indtast din trækprocent ");
            String trækprocent = Console.ReadLine();
            Console.Write("Indtast dit månedsfradrag ");
            String månedsfradrag = Console.ReadLine();
            resultat = Convert.ToDouble(bruttoløn) - Convert.ToDouble(månedsfradrag) * Convert.ToDouble(trækprocent) / Convert.ToDouble(hun);
        }
        else if (funktion == "6") {
            int km = 24;
            double kmp = 1.99;
            string kr;

            Console.Write("Indtast dine arbejdsdage pr. år ");
            String arbejdsdage = Console.ReadLine();
            Console.Write("Indtast antal kilometer til arbejde tur/retur ");
            String kilometer = Console.ReadLine();
            resultat = (Convert.ToDouble(kilometer) - Convert.ToDouble(km)) * Convert.ToDouble(arbejdsdage) * kmp;
        }
    
        Console.WriteLine("---------------------");
        Console.Write("Resultat: ");
        Console.WriteLine(resultat);
        Console.WriteLine("---------------------");
    }
}
 
由主持人最后编辑:

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,501
地点
悉尼,澳大利亚
编程经验
10+
您需要在发布中做一些工作。您不会在标题中提出问题,也只能张贴代码。该帖子应包含对该问题的完整说明,即您要实现的目标,您如何实现的目标以及尝试时会发生的情况。标题应该写在最后,并且是帖子主题的简要摘要。另外,我们不需要查看您拥有的所有代码。我们需要的是最简单的代码来演示问题。
 

羊皮

退休程序员
工作人员
已加入
2018年9月5日
留言内容
1,926
地点
英国
编程经验
10+
最佳 底部