Возвращение в начало программы при вводе неверного пароля - C#
Формулировка задачи:
У меня такая проблема:
Мне нужно чтобы когда человек к примеру ввел неправильный пароль, то программа сразу закрывается. А мне надо чтобы после неправильного пароля его перемещало в начало, и ему выводилось как в начале:
И так далее, тоесть не выходя из программы, все слова стерались Console.Clear() и выводилось заного. Так будет удобно. А то человек постоянно будет закрывать программу и заходить заного. это не удобно
using System; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml.Linq; class Program { static void Main() { Console.WriteLine("Добро Пожаловать в мою систему данных"); Console.WriteLine("Чем я могу вам помочь?"); Console.WriteLine("1-Войти 2-Создать аккаунт 3-Выйти"); string myLanguage = Console.ReadLine(); sw1(myLanguage); Console.ReadLine(); } static void sw1(string s) { string path = @"data.xml"; switch (s) { case "1": { Console.WriteLine("Введите свой id"); string id = Console.ReadLine(); Console.WriteLine("Введите пароль"); string pass = Console.ReadLine(); if (File.Exists("data.xml")) { XDocument xd = XDocument.Load(path); var pep = xd.Root.Elements("People").Where(x => x.Attribute("id").Value == id && x.Attribute("password").Value == pass) .Select(x => new { name = x.Attribute("name").Value, lastname = x.Attribute("lastname").Value, birthday = x.Attribute("birthday").Value, nameRight = x.Attribute("nameRight").Value }).FirstOrDefault(); if (pep != null){ Console.WriteLine("{0} {1} дата рождения: {2}\n\nПоздравляю, вы вошли в свою учетную запись успешно", pep.name, pep.lastname, pep.birthday); Console.WriteLine("Вы зашли с правами {0}", pep.nameRight); } else { Console.WriteLine("Неправильный логин или пароль"); } } else Console.WriteLine("В данный момент данных нет, попробуйте зарегистрироваться"); } break; case "2": { string name, lastname, password, nameRight; int id; DateTime birth; People pepl; Console.WriteLine("Введите имя:"); name = Console.ReadLine(); Console.WriteLine("Введите Фамилию:"); lastname = Console.ReadLine(); Console.WriteLine("Введитедату рождения в Формате YYYY MM DD:"); birth = DateTime.Parse(Console.ReadLine()); Console.WriteLine("Введите пароль:"); password = Console.ReadLine(); pepl = new People(name, lastname, birth, password, nameRight); pepl.add_new(out id); Console.WriteLine("Новая учетная запись создана успешно.\nВаш Id - {0}", id); } break; case "3": Console.WriteLine("Досвидания!"); break; default: Console.WriteLine("Вы допустили ошибку! Попробуйте еще раз"); break; } } } class People { public int Id { get; set; } public string Name { get; set; } public string LastName { get; set; } public DateTime Birthday { get; set; } public string Password { get; set; } public string NameRight { get; set; } public People(string name, string lastname, DateTime birthday, string password, string nameRight) { this.Name = name; this.LastName = lastname; this.Birthday = birthday; this.Password = password; this.NameRight = nameRight; } public void add_new(out int id) { XDocument xdoc; string path = @"data.xml"; if (File.Exists(path)) xdoc = XDocument.Load(path); else { xdoc = new XDocument(); xdoc.Add(new XElement("Root")); } // int id; if (xdoc.Root.Elements("People").Count() == 0) id = 0; else id = xdoc.Root.Elements("People").Select(x => Convert.ToInt32(x.Attribute("id").Value)).Last(); xdoc.Root.Add(new XElement("People", new XAttribute("id", ++id), new XAttribute("name", this.Name), new XAttribute("lastname", this.LastName), new XAttribute("birthday", this.Birthday.ToShortDateString()), new XAttribute("password", this.Password), new XAttribute("nameRight", this.NameRight))); xdoc.Save(path); } }
Console.WriteLine("Добро Пожаловать в мою систему данных"); Console.WriteLine("Чем я могу вам помочь?"); Console.WriteLine("1-Войти 2-Создать аккаунт 3-Выйти");
Решение задачи: «Возвращение в начало программы при вводе неверного пароля»
textual
Листинг программы
static void Main() { while (true) { Console.WriteLine("Добро Пожаловать в мою систему данных"); Console.WriteLine("Чем я могу вам помочь?"); Console.WriteLine("1-Войти 2-Создать аккаунт 3-Выйти"); string myLanguage = Console.ReadLine(); try { sw1(myLanguage); } catch (ApplicationException) { break; } } Console.ReadLine(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д