C# C语言中的密码/计算器#

C# C语言中的密码/计算器#,c#,C#,我正在使用Microsoft Visual Studio 2010和C#,我正在尝试创建一个程序,要求用户输入密码,您应该有3次尝试才能获得正确的密码,但我不知道如何添加计数器变量或错误消息。有人能帮我吗 另外,我的程序的主要部分是让用户选择2个数字,并让它们进行减法、乘法、加法或除法,但我的代码只是自动执行,而不是询问用户。有谁能帮我解决这个问题吗 这是我的密码: static string userName = ""; static string passWord = "";

我正在使用Microsoft Visual Studio 2010和C#,我正在尝试创建一个程序,要求用户输入密码,您应该有3次尝试才能获得正确的密码,但我不知道如何添加计数器变量或错误消息。有人能帮我吗

另外,我的程序的主要部分是让用户选择2个数字,并让它们进行减法、乘法、加法或除法,但我的代码只是自动执行,而不是询问用户。有谁能帮我解决这个问题吗

这是我的密码:

    static string userName = "";
    static string passWord = "";
    static float numberOne = 0;
    static float numberTwo = 0;

    static void Main(string[] args)
    {
        getpassWord();
        validatepassWord();
        calculatorIntro();
        getData();
        calcAddition();
        calcSubtraction();
        calcDivision();
        calcMultiplication();

        Console.ReadLine();
    }

    static void getpassWord()
    {
        while (passWord == "")
        {
            Console.Write("Please enter the password > ");
            passWord = Console.ReadLine();
        }
    }

    static void validatepassWord()
    {
        if (passWord == "12345")
        {
            Console.Write("Please enter a valid password > ");
            passWord = Console.ReadLine();
        }
    }

   static void calculatorIntro()
   {
       Console.Write("Please enter your name > ");
       userName = Console.ReadLine();
       Console.WriteLine("Hello {0}, Welcome to the Calculator!", userName);
       Console.WriteLine("After you have entered the password, you must then enter 2 numbers and decide whether they should be added, multiplied, subtracted or divided");
       Console.ReadLine();
   }
    static void getData()
    {
        Console.Write("Please enter the first number");
        numberOne = float.Parse(Console.ReadLine());
        Console.Write("Please enter the second number");
        numberTwo = float.Parse(Console.ReadLine());
    }

    static void calcAddition()
    {
        Console.Write("{0} + {1} = {2}", numberOne, numberTwo, numberOne + numberTwo);
        Console.ReadLine();
    }

    static void calcSubtraction()
    {
        Console.Write("{0} - {1} = {2}", numberOne, numberTwo, numberOne - numberTwo);
        Console.ReadLine();
    }

    static void calcDivision()
    {
        Console.Write("{0} / {1} = {2}", numberOne, numberTwo, numberOne / numberTwo);
        Console.ReadLine();
    }

    static void calcMultiplication()
    {
        Console.Write("{0} * {1} = {2}", numberOne, numberTwo, numberOne * numberTwo);
        Console.ReadLine();
    }

对于密码验证: 使用do-while循环。终止的条件是计数器达到三个或用户正确。 范例


这里有一些独立的问题。试着一个接一个地解决它们。根据需要提出新问题,但对于诸如我不知道如何添加计数器变量或错误消息之类的问题,肯定已经有教程了。抱歉@糟糕,我已经在这个程序上停留了一段时间,只需要一个直接的答案。您的循环逻辑不正确
| |
将在第一次
true
时短路,因此即使他们在第一次尝试时输入了正确的PW,它也会再次运行。您可能想要
&&
。或者干脆将它们颠倒过来。首先检查密码,然后检查计数器。您是正确的。我的循环是错误的。我会换的。谢谢你的回答谢谢@flaco-我是c#的新手,老实说,我不太擅长c#,所以谢谢!我需要删除所有原始代码吗?您不一定需要删除所有代码。你的加法、减法等方法都很好。要解决这些问题,请卸下Console.ReadLine()。在那里你不需要它。而是读入这两个数字,然后使用控制台;
int counter = 0;
boolean passwordCorrect = false;
do {
    Console.Write("Please enter the password > ");
    passWord = Console.ReadLine();

    //If the password is correct,then it will break the loop
    if (passWord == "1234") {
       passwordCorrect = true;
    }
    counter++;
} while (counter < 3 && !passwordCorrect);
int choice;
Console.Write("What operation would you like to perform?\n1. Addition\2. Subtraction");
Console.Write("\n3. Multiplication\n4. Division");
choice = Console.ReadLine();

switch (choice)
{
    case 1:
        calcAddition();
        break;
    case 2:
        calcSubtraction();
        break;
    case 3:
        calcMultiplication();
        break;
    case 4:
        calcDivision();
        break;
    default:
        Console.Writeline("No operation chosen");
        break;
}