C # Войти / Зарегистрировать простое консольное приложение - PullRequest
0 голосов
/ 14 марта 2019

Когда я создаю пользователя, он сохраняется в строке, но когда я пытаюсь войти в систему с тем же (каким-то образом его нет в строке ...)

using System;

namespace Exercise4
{
class Program
{
    static void Main(string[] args)
    {
        Start:
        Console.WriteLine("Za login stisnete 1 ili za register 2");
        var input = Console.ReadLine();



        bool successfull = false;
        while (!successfull)
        {
            var arrUsers = new Users[]
        {
            new Users("tomas","samsung",2605),
            new Users("stefan","pasle",15),
            new Users("dimitar","jovanov",32)
        };  
            if (input == "1")
            {
                Console.WriteLine("Write your username:");
                var username = Console.ReadLine();
                Console.WriteLine("Enter your password:");
                var password = Console.ReadLine();


                foreach (Users user in arrUsers)
                {
                    if (username == user.username && password == user.password)
                    {
                        Console.WriteLine("You have successfully logged in !!!");
                        Console.ReadLine();
                        successfull = true;
                        break;
                    }
                    else if (username != user.username || password != user.password)
                    {
                        Console.WriteLine("Your username or password is incorect, try again !!!");
                        Console.ReadLine();

                        break;

                    }
                }

            }

            else if (input == "2")
            {

                Console.WriteLine("Enter your username:");
                var username = Console.ReadLine();

                Console.WriteLine("Enter your password:");
                var password = Console.ReadLine();

                Console.WriteLine("Enter your id:");
                int id = int.Parse(Console.ReadLine());


                Array.Resize(ref arrUsers, arrUsers.Length + 1);
                arrUsers[arrUsers.Length - 1] = new Users(username,password, id);
                successfull = true;
                goto Start;



            }
            else
            {
                Console.WriteLine("Try again !!!");
                break;


            }

        }

    }

}

}

Не могу понять, каксделать это.

1 Ответ

0 голосов
/ 14 марта 2019
class Program
{
    static void Main(string[] args)
    {
        var arrUsers = new Users[]
        {
            new Users("tomas","samsung",2605),
            new Users("stefan","pasle",15),
            new Users("dimitar","jovanov",32)
        };

        Start:
        Console.WriteLine("Za login stisnete 1 ili za register 2");
        var input = Console.ReadLine();



        bool successfull = false;
        while (!successfull)
        {

            if (input == "1")
            {
                Console.WriteLine("Write your username:");
                var username = Console.ReadLine();
                Console.WriteLine("Enter your password:");
                var password = Console.ReadLine();


                foreach (Users user in arrUsers)
                {
                    if (username == user.username && password == user.password)
                    {
                        Console.WriteLine("You have successfully logged in !!!");
                        Console.ReadLine();
                        successfull = true;
                        break;
                    }
                }

                if (!successfull)
                {
                    Console.WriteLine("Your username or password is incorect, try again !!!");
                }

            }

            else if (input == "2")
            {

                Console.WriteLine("Enter your username:");
                var username = Console.ReadLine();

                Console.WriteLine("Enter your password:");
                var password = Console.ReadLine();

                Console.WriteLine("Enter your id:");
                int id = int.Parse(Console.ReadLine());


                Array.Resize(ref arrUsers, arrUsers.Length + 1);
                arrUsers[arrUsers.Length - 1] = new Users(username, password, id);
                successfull = true;
                goto Start;

            }
            else
            {
                Console.WriteLine("Try again !!!");
                break;


            }

        }

    }
}

public class Users
{
    public string username;
    public string password;
    private int id;

    public Users(string username, string password, int id)
    {
        this.username = username;
        this.password = password;
        this.id = id;
    }
}

Я сделал некоторые изменения в вашем коде, пожалуйста, проверьте разницу

Я поместил arrUsers перед запуском, чтобы ссылка не менялась при переходе к пуску

...