C# 密码设置模拟 编写程序可以进行密码的设置(第一次)和修改(已设置密码)。要求输入的密码用*显示。
时间: 2023-07-19 14:12:22 浏览: 145
StockSimulateTools
以下是一个简单的 C# 密码设置和修改程序的示例代码:
```csharp
using System;
class PasswordProgram {
static void Main() {
string password = "";
// 询问用户是否需要设置密码
Console.Write("是否需要设置密码?(y/n)");
string input = Console.ReadLine().ToLower();
if (input == "y") {
password = SetPassword();
Console.WriteLine("密码设置成功!");
}
// 循环进行密码验证和修改
while (true) {
Console.Write("请输入密码:");
string inputPassword = GetPassword();
if (inputPassword == password) {
Console.WriteLine("密码正确!");
Console.Write("是否需要修改密码?(y/n)");
input = Console.ReadLine().ToLower();
if (input == "y") {
password = SetPassword();
Console.WriteLine("密码修改成功!");
}
} else {
Console.WriteLine("密码错误,请重新输入!");
}
}
}
// 设置密码
static string SetPassword() {
Console.Write("请设置密码:");
return GetPassword();
}
// 获取密码,用*代替显示
static string GetPassword() {
string password = "";
ConsoleKeyInfo key;
do {
key = Console.ReadKey(true);
if (key.Key != ConsoleKey.Backspace && key.Key != ConsoleKey.Enter) {
password += key.KeyChar;
Console.Write("*");
} else {
if (key.Key == ConsoleKey.Backspace && password.Length > 0) {
password = password.Substring(0, (password.Length - 1));
Console.Write("\b \b");
}
}
} while (key.Key != ConsoleKey.Enter);
Console.WriteLine();
return password;
}
}
```
这个程序的流程是先询问用户是否需要设置密码,如果需要则调用 `SetPassword()` 函数设置密码。然后进入一个无限循环,每次循环都要求用户输入密码,并使用 `GetPassword()` 函数获取输入的密码,密码用 * 代替显示。如果输入的密码正确,则询问用户是否需要修改密码,如果需要则调用 `SetPassword()` 函数修改密码。如果输入的密码不正确,则提示用户重新输入密码。
阅读全文