怎么多次输入错误的用户名,不退出

来源:2-8 【实战】用户登陆 (if switch)

慕UI1387734

2024-06-18

按照课程代码,在输出页面,输入错误的用户名,再输入就会退出,怎么样才能像老师演示的那样,输入错误的用户名,可以再次输入用户名不退出,直到输入正确的用户名和密码为止

写回答

2回答

丫丫丫呀

2025-12-30

using System;

namespace userLogin
{
    class Program
    {
        static void Main(string[] args)
        {
            // 数据库中的用户名、密码
            String userName = "admin";
            String password = "123";

            //用户选择的菜单号码
            String number;

            //用户登录状态
            bool loginStatus = false;

            // 系统提示
            Console.WriteLine(@"=============客户管理系统============
                                请登录:");


            // 外层while,保证程序不会结束
            while (true) {

                //验证登录,如果登录不成功则会阻塞,不会进入到菜单
                while (!loginStatus)
                {
                    Console.Write("userName:");
                    String userNameInput = Console.ReadLine();
                    Console.WriteLine();
                    Console.Write("password:");
                    String pwd_Input = Console.ReadLine();
                    if (pwd_Input == password && userName == userNameInput)
                    {
                        Console.WriteLine("登录成功");
                        loginStatus = true;
                    }
                    else
                    {
                        Console.WriteLine("用户名或密码不存在,请重新输入");
                        loginStatus = false;

                    }
                }

                // 判断是否登录成功,登录成功后才弹出菜单
                if (loginStatus)
                {
                    Console.WriteLine("主菜单");
                    Console.WriteLine("1.客户管理");
                    Console.WriteLine("2.预约管理");
                    Console.WriteLine("3.系统设置");
                    Console.WriteLine("4.退出登录");
                    Console.WriteLine("请选择:");

                    // 用户输入的菜单号接收
                    number = Console.ReadLine();


                    // 菜单选择
                    switch (number)
                    {
                        case "1":
                            Console.WriteLine("客户管理功能");
                            break;
                        case "2":
                            Console.WriteLine("预约管理功能");
                            break;
                        case "3":
                            Console.WriteLine("系统设置功能");
                            break;
                        case "4": //退出登录则需要将用户登录的登录状态清除,已重新进入登录
                            loginStatus = false;
                            Console.WriteLine("用户退出,请重新登录");
                            break;
                        default:
                            Console.WriteLine("输入不合法");
                            break;

                    }


                }
            }
        }
    }
}

类似于这样

0
0

阿莱克斯刘

2024-07-10

给整个登录环节加上循环就可以了,课程代码应该有包含这部分内容
0
0

C#速成指南--从入门到进阶,实战WPF与Unity3D开发

系统掌握C#核心和应用,获得全行业适配的技能

870 学习 · 200 问题

查看课程