Реализовать имитацию входа в ОС - C#

Узнай цену своей работы

Формулировка задачи:

Задача: реализовать имитацию входа в ОС. лог и пасс. пароль показывается звёздочками. предусмотреть наличие в базе 5 пар логов и паролей. если такой существует и пароль верный показать Велком. иначе выдать предупреждение и дать ещё 2 попытки. использовать sort arr list. Вопросы: 1. правильно ли я использую ArrayList ? 2. говнокод или относительно нормально) в каких строках всё очень скверно(( ? 3. в реальном времени, когда вводишь правильный пароль, сразу тебя поздравляют с успешной авторизацией. не нужно подтверждать ввод Enter'ом. Как это исправить ? если вы конечно поняли о чём я) p.s. Спасибо за внимание
using System;
using System.Text;
using System.IO;
using System.Runtime.InteropServices;
using System.Threading;
using System.Collections;
 
class Sample
{
    public static void Main()
    {
        ArrayList ArrLog = new ArrayList(new string[] { "user", "admin", "moder", "owned767", "alex", "serguk", "monster" });
        ArrayList ArrPass = new ArrayList(new string[] { "123456789", "admin", "_moder", "qwerty", "1488", "serj96", "omg123321" });
        int TF = 3;
        bool tf = true;
        string login, str;
        Console.Write("Введите логин: ");
        login = Console.ReadLine();
        ConsoleKeyInfo key;
 
        while (tf)
        {
            str = string.Empty;
            if (TF == 2) Console.WriteLine("\n\nНеправильный логин или пароль. Осталось 2 попытки");
            else if (TF == 1) Console.WriteLine("\n\nНеправильный логин или пароль. Осталась 1 попытка");
            else if (TF == 0)
            {
                Console.WriteLine("\n\nПока-пока");
                tf = false;
                break;
            }
            Console.Write("Введите пароль: ");
            do
            {
                key = Console.ReadKey(true);
                if (key.Key == ConsoleKey.Enter)
                {
                    break;
                }
                else if (key.Key == ConsoleKey.Backspace)
                {
                    if (str.Length != 0)
                    {
                        str = str.Remove(str.Length - 1);
                        Console.Write("\b \b");
                    }
                }
                else
                {
                    str += key.KeyChar;
                    Console.Write("*");
                }
 
                for (int i = 0; i < ArrPass.Capacity; i++)
                {
                    if ((ArrLog.LastIndexOf(login) == i) && (string)ArrPass[i] == str)
                    {
                        Console.WriteLine("\n\nСпасибо, что зашли, {0} !", ArrLog[ArrLog.LastIndexOf(login)]);
                        tf = false;
                        break;
                    }
                }
            }
            while (true);
            TF--;
        }
 
    }
}

Решение задачи: «Реализовать имитацию входа в ОС»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace AutorisationTest {
    class Program {
        static Dictionary<string, string> UserBase = new Dictionary<string, string>();
 
        static void Main(string[] args) {
            UserBase.Add("user", "1234");
            UserBase.Add("Admin", "0987");
            UserBase.Add("Mary", "mary");
            UserBase.Add("Nick", "nick");
            UserBase.Add("Lisa", "lisa");
            int counter = 0;
 
            while (true) {
                Console.Write("Enter user name: ");
                string name = Console.ReadLine();
                Console.Write("Enter password: ");
                string pass = Console.ReadLine();
 
                if (counter == 2) {
                    Console.WriteLine("Your time is ends! Good luck!");
                    break;
                }
                if (UserBase.ContainsKey(name) && UserBase[name] == pass) {
                    Console.WriteLine("Data is correct! You just entered the system!");
                    break;
                }
                else {
                    counter++;
                    Console.WriteLine("Wrong data! Try again.");
                }
            }
            Console.ReadLine();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.667 из 5
Похожие ответы