欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nearth===019/c#类和对象, 继承(练习题1)

程序员文章站 2022-04-05 16:09:41
...

1、很多软件都要求我们先输入用户名和密码才能使用,最常见的例子当属Windows操作系统,制作一个类,完成系统的登录验证工作。

扩展登录类,实现以下功能:

1)在命名空间中增加用户类型枚举,包括管理员、普通用户两种

2)在Login类中添加枚举类型对应的成员变量,并将该变量封装成属性

3)修改IsValidateUser()方法,对于不同的用户身份,进入不同的欢迎界面

4)用户拥有5次登录尝试机会,如果5次登录都失败,程序结束,否则,允许用户重新输入用户名和密码。


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//1、很多软件都要求我们先输入用户名和密码才能使用,
//最常见的例子当属Windows操作系统,制作一个类,完成系统的登录验证工作。
//扩展登录类,实现以下功能:
//1)在命名空间中增加用户类型枚举,包括管理员、普通用户两种
//2)在Login类中添加枚举类型对应的成员变量,并将该变量封装成属性
//3)修改IsValidateUser()方法,对于不同的用户身份,进入不同的欢迎界面
//4)用户拥有5次登录尝试机会,如果5次登录都失败,程序结束,否则,
//允许用户重新输入用户名和密码。


namespace First
{
   public enum userType { 
       admin,
       guest,
    }
    public class Login {
        private string userName;
        private string passWord;
        private userType user;
        public userType User{
            set{
                user = value;
            }
            get{
                return user;
            }
        }
        public  string UserName{
            set {
                userName = value;
            }
            get
            {
                return userName;
            }
       }
        public string PassWord
        {
            set
            {
                passWord = value;
            }
            get
            {
                return passWord;
            }
        }
        public int IsValidateUser(){
           switch(user){
               case userType.admin:
                       if (userName.Equals("admin") && passWord.Equals("admin"))
                       {
                           return 0;
                       }
                       else
                       {
                           return 2;
                       }
               case userType.guest:
                       if (userName.Equals("guest") && passWord.Equals("guest"))
                       {
                           return 1;
                       }
                       else
                       {
                           return 2;
                       }
               default:
                   {
                      return 2;
                   }     
           }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Login login = new Login();
            Console.WriteLine("==============================");
            Console.WriteLine("欢迎来到用户登陆页面");
            Console.WriteLine("==============================");
            int i=5;
            while(i>=0){
                Console.Write("请选择你要以什么身份登陆--admin guest{0,1}:");
                userType user = (userType)Enum.Parse(typeof(userType), Console.ReadLine());
                Console.Write("请输入用户名:");
                login.UserName = Console.ReadLine();
                Console.Write("请输入用户密码:");
                login.PassWord = Console.ReadLine();
                login.User = user;
                if (login.IsValidateUser()==0)
                {
                    Console.WriteLine("==============================");
                    Console.WriteLine("登陆成功!!!欢迎来到管理员界面···");
                    Console.WriteLine("==============================");
                    while(true);
                    return;
                }
                else if(login.IsValidateUser()==1)
                {
                    Console.WriteLine("==============================");
                    Console.WriteLine("登陆成功!!!欢迎来到用户界面···");
                    Console.WriteLine("==============================");
                    while(true);
                    return;
                }
                else{
                    i--;
                    Console.WriteLine("==============================");
                    Console.WriteLine("登陆失败!!你的密码或用户名错误!!!");
                    Console.WriteLine("你还有{0}次登陆机会!", i);
                    Console.WriteLine("==============================");
                    continue;
                }
            }  
            }
            
    }
}

运行结果:

Nearth===019/c#类和对象, 继承(练习题1)

Nearth===019/c#类和对象, 继承(练习题1)


(所有代码都是正确的,我只是提供给大家一个学习模板。另外,自己要学会看别人代码,并学着去模仿·······某一天,看的多了,就是写出自己的东西。我也很期待··········)


阳光明媚,小主人不要在家睡懒觉哦····································