using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Dynamic;
class Dark
{
private int lvl;
private string name;
private int id=0;
private string country;
public void GetDark (int lvl, string name, string country) {
this.lvl = lvl;
this.name = name;
this.id = id;
this.country = country;
id++;
}
public string WriteDark
{
get;set;
}
}
class MainClass
{
static void Main ()
{
Console.WriteLine("Введите пароль");
int pass;
int i = 0;
pass = int.Parse(Console.ReadLine());
bool pas = false;
bool block = false;
switch (pass)
{
case 8294:
Console.WriteLine("Доступ разрешен");
pas = true;
break;
default:
goto repeatPass;
}
repeatPass:
{
if (pas == false)
{
while (block == false)
{
i++;
Console.WriteLine("Повторите попытку");
pass = Convert.ToInt32(Console.ReadLine());
if (i == 2)
{
block = true;
Console.Clear();
Console.WriteLine("Доступ заблокирован");
Console.ReadKey();
Environment.Exit(0);
}
};
}
}
if (pas == true)
{
Console.WriteLine("Добро пожаловать в систему");
}
int select;
List<Dark> DB = new List<Dark>();
string selectStr = "1 - Пополнить БД" + "\n" + "2 - Посмотреть БД";
repeatSelect:
{
Console.WriteLine("Что вы хотите выбрать ?");
Console.WriteLine(selectStr);
select = Convert.ToInt32(Console.ReadLine());
}
switch (select)
{
case 1:
goto dbAdd;
break;
case 2:
goto dbVal;
break;
default: goto repeatSelect;
}
dbAdd: {
Console.WriteLine("Введите название записи");
dynamic dbname;
dbname = Console.ReadLine();
string name = dbname;
Console.WriteLine("Создание записи в БД");
DB.Add(dbname = new Dark());
Console.WriteLine("Запись создана");
dynamic lvl;
Console.WriteLine("Введите уровеь");
lvl = int.Parse(Console.ReadLine());
dynamic country;
Console.WriteLine("Введите страну");
country = Console.ReadLine();
dbname.GetDark(lvl,name,country);
Console.WriteLine("Нажмите любую клавишу чтобы продолжить");
Console.ReadKey();
Console.Clear();
goto repeatSelect;
}
dbVal: {
for (var k = 0;k<DB.Count;k++)
{
Console.WriteLine(DB[k].WriteDark);
}
Console.WriteLine(DB.Count);
Console.ReadKey();
Console.Clear();
goto repeatSelect;
}
Console.ReadKey();
}
}
using System;
using System.Collections.Generic;
using System.Linq;
namespace App
{
class Application
{
private static List<Record> DB = new();
static void Main()
{
var authorized = Authorize();
if (authorized)
{
Greet();
WorkLoop();
}
else
{
RestrictAccess();
}
BeforeLeave();
}
private static void BeforeLeave()
{
Console.WriteLine("Нажмите любую кнопку, чтобы выйти");
Console.ReadKey();
}
private static void Greet()
{
Console.WriteLine("Доступ разрешён");
Console.WriteLine("Добро пожаловать в систему");
}
private static void RestrictAccess()
{
Console.WriteLine("Доступ заблокирован");
}
private static bool Authorize()
{
Console.WriteLine("Введите пароль");
const string password = "8294";
const int maxAttemptsCount = 3;
var passwordCorrect = false;
for (var i = 0; i < maxAttemptsCount; i++)
{
var input = Console.ReadLine();
if (input == password)
{
passwordCorrect = true;
break;
}
}
return passwordCorrect;
}
private static void WorkLoop()
{
while (true)
{
Console.Clear();
Console.WriteLine(@"
1 - Пополнить БД
2 - Посмотреть БД");
var guess = Console.ReadLine();
switch (guess)
{
case "1":
AddNewRecord();
break;
case "2":
ReadAllRecords();
break;
default:
continue;
}
Console.WriteLine("Нажмите любую кнопку, чтобы венуться в меню");
Console.ReadKey();
}
}
private static void ReadAllRecords()
{
Console.WriteLine();
Console.WriteLine("ID\t Имя\t Уровень\t Страна");
foreach (var record in DB)
{
Console.WriteLine($"{record.Id}\t{record.Name}\t{record.Level}\t{record.Country}");
}
Console.WriteLine(DB.Count);
}
private static IEnumerator<int> sequence = Enumerable.Range(1, int.MaxValue).GetEnumerator();
private static void AddNewRecord()
{
Console.WriteLine("Создание записи");
Console.Write("Введите имя: ");
var name = Console.ReadLine();
Console.Write("Введите уровень: ");
var levelString = Console.ReadLine();
if (!int.TryParse(levelString, out var level))
{
Console.WriteLine("Ошибка. Введено не число. Создание записи прервано.");
return;
}
Console.Write("Введите страну: ");
var country = Console.ReadLine();
sequence.MoveNext();
var id = sequence.Current;
var record = new Record
{
Id = id,
Country = country,
Name = name,
Level = level
};
DB.Add(record);
Console.WriteLine("Запись создана");
}
}
public class Record
{
public int Id { get; init; }
public string Name { get; init; }
public int Level { get; init; }
public string Country { get; init; }
}
}