C#问题:程序不应该终止

时间:2013-12-30 16:47:18

标签: c# termination

我正在为我的大学课程制作一个C#控制台应用程序,我遇到了一个问题,即我(或课程中的任何其他人)不知道什么是错的。事实上,导师不确定为什么会这样。 我将向您展示部分代码,看看是否有人可以提供帮助。 可能一个好主意,我提到我是C#的新手和一般的编程。

  static void Main(string[] args)
    {
        string userName = GetName();
        int gradelevel = level();
        double random1 = 0;
        double random2 = 0;
        int userChoice = menu();
        int numberofquestions = 0; 
        string Message;
        int userScore = 0;

        do
        {
            if ((gradelevel == 1) && (userChoice == 1))//ADDITION LEVEL 1
            {

                generateSingleDigit(ref random1, ref random2);
                double userAnswer = additionQuestion(ref random1, ref random2);
                double Correctanswer = random1 + random2;
                Message = checkAnswer(userAnswer, Correctanswer);

                if (userAnswer == Correctanswer)
                {
                    generatePositiveResponse();
                    userScore++;
                }
                else
                {
                    int numberofAttempts = 1;

                    do
                    {
                        generateNegativeResponse();
                        userAnswer = additionQuestion(ref random1, ref random2);
                        Message = checkAnswer(userAnswer, Correctanswer);
                        numberofAttempts++;
                    } while ((numberofAttempts < 3) && (Message == "Incorrect"));
                    Console.WriteLine("The correct answer is {0}", Correctanswer);
                }
            }


                numberofquestions++;
        } while (numberofquestions <= 9);
           percentage(ref userScore); ` 

我遇到的问题是,一旦用户完成了10个问题,百分比方法的结果会短暂闪烁,然后应用程序自行关闭。没有“按任意键继续”,这是我在其他应用程序中看到的。

我真的很感激任何帮助。 感谢

3 个答案:

答案 0 :(得分:3)

如果在末尾添加Console.ReadLine(),则窗口将保持打开状态,直到您按 enter 键。否则,一旦完成,它将关闭命令窗口。

答案 1 :(得分:1)

听起来你在节目结束时错过了Console.ReadLine()。当您在Visual Studio中运行控制台应用程序时,一旦程序完成,窗口将被关闭是正常的行为,除非有代码(如Console.ReadLine())来保持程序运行。

如果直接从DOS窗口运行程序,程序仍会退出,但窗口会保持打开状态,您只需再次返回命令提示符。

答案 2 :(得分:1)

  

否“按任意键继续”,我在其他应用程序中看到过。

为什么会这样?除非你编写代码来实现它,否则这种情况不会发生:

Console.WriteLine("Press any key to continue");
Console.ReadKey(true);

Visual Studio曾经把代码放到C ++程序的默认模板中,但是我从来没有在C#中看过它,即使使用旧的C ++程序,你也可以看到导致这种情况的代码。