做. .While循环计数器实现不工作

本文关键字:工作 实现 计数器 While 循环 | 更新日期: 2023-09-27 18:14:34

我用c#(控制台应用程序)创建了一个程序,它提示用户输入"2+2=?"的答案,如果正确,则弹出"做得好"的消息,如果不正确,则弹出"请再试一次"。我要做的是让程序告诉用户他们在得到正确答案之前猜测了多少次。

这是我到目前为止所做的

class Program
{
    public static int correct_answer, counter,  user_answer, counterUpdated;
    static void Main(string[] args)
    {
        correct_answer = 4;
        do 
        {
            counter = 1;
            counterUpdated = counter++;
            Console.WriteLine("2+2= ?");
            user_answer = Convert.ToInt32(Console.ReadLine());
            if (user_answer != correct_answer)
            {
                Console.Clear();
                Console.WriteLine("Wrong, try againg" + " this is your " + counterUpdated + " try.");
            }
        } while (user_answer != correct_answer); // The code will keep looping until the user prompts the correct answer 
        Console.Clear();
        Console.WriteLine("Well Done! you did it in this amount of guesses " + counterUpdated);
        Console.ReadLine();
    }
}

如果有人能告诉我如何使计数器工作,那就太好了。

做. .While循环计数器实现不工作

您总是在循环开始时将counter设置为1,然后立即将counterUpdated = counter++;设置为1(无论如何,这有点奇怪…)。只需在循环外初始化并在循环内递增一个计数器即可。

int guessNumber = 0;
do {
    guessNumber++;
    // ...

稍微调整了一下,应该可以了:)

class Program
{
    public static int correct_answer, counter,  user_answer;
    static void Main(string[] args)
    {
        correct_answer = 4;
        counter = 0;
        do 
        {
            counter++;
            Console.WriteLine("2+2= ?");
            user_answer = Convert.ToInt32(Console.ReadLine());
            if (user_answer != correct_answer)
            {
                Console.Clear();
                Console.WriteLine("Wrong, try againg" + " this is your " + counter+ " try.");
            }

        } while (user_answer != correct_answer); // The code will keep looping until the user prompts the correct answer 
        Console.Clear();
        Console.WriteLine("Well Done! you did it in this amount of guesses " + counter);
        Console.ReadLine();

    }
}

我所做的是我删除了counterUpdated变量,并让counter变量做所有的计数工作:)

希望有帮助