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