diff --git a/20231204/ConsoleApp1/.vs/ConsoleApp1/v16/.suo b/20231204/ConsoleApp1/.vs/ConsoleApp1/v16/.suo
new file mode 100644
index 0000000..0e52389
Binary files /dev/null and b/20231204/ConsoleApp1/.vs/ConsoleApp1/v16/.suo differ
diff --git a/20231204/ConsoleApp1/App.config b/20231204/ConsoleApp1/App.config
new file mode 100644
index 0000000..56efbc7
--- /dev/null
+++ b/20231204/ConsoleApp1/App.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/20231204/ConsoleApp1/ConsoleApp1.csproj b/20231204/ConsoleApp1/ConsoleApp1.csproj
new file mode 100644
index 0000000..a4bb44b
--- /dev/null
+++ b/20231204/ConsoleApp1/ConsoleApp1.csproj
@@ -0,0 +1,53 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {13CBD21B-6A7A-4A5C-BC61-3B8FC3EC84B5}
+ Exe
+ ConsoleApp1
+ ConsoleApp1
+ v4.7.2
+ 512
+ true
+ true
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/20231204/ConsoleApp1/ConsoleApp1.sln b/20231204/ConsoleApp1/ConsoleApp1.sln
new file mode 100644
index 0000000..ec737dc
--- /dev/null
+++ b/20231204/ConsoleApp1/ConsoleApp1.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.33529.622
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleApp1", "ConsoleApp1.csproj", "{13CBD21B-6A7A-4A5C-BC61-3B8FC3EC84B5}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {13CBD21B-6A7A-4A5C-BC61-3B8FC3EC84B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {13CBD21B-6A7A-4A5C-BC61-3B8FC3EC84B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {13CBD21B-6A7A-4A5C-BC61-3B8FC3EC84B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {13CBD21B-6A7A-4A5C-BC61-3B8FC3EC84B5}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {6FB0DF0D-BC48-48DC-8195-EA8FDB0AB190}
+ EndGlobalSection
+EndGlobal
diff --git a/20231204/ConsoleApp1/Program.cs b/20231204/ConsoleApp1/Program.cs
new file mode 100644
index 0000000..ea9bacc
--- /dev/null
+++ b/20231204/ConsoleApp1/Program.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace ConsoleApp1
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ }
+ }
+}
diff --git a/20231204/ConsoleApp1/Properties/AssemblyInfo.cs b/20231204/ConsoleApp1/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..22f922b
--- /dev/null
+++ b/20231204/ConsoleApp1/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("ConsoleApp1")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("ConsoleApp1")]
+[assembly: AssemblyCopyright("Copyright © 2023")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("13cbd21b-6a7a-4a5c-bc61-3b8fc3ec84b5")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/20231204/ConsoleApp1/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/20231204/ConsoleApp1/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
new file mode 100644
index 0000000..3871b18
--- /dev/null
+++ b/20231204/ConsoleApp1/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
diff --git a/20231204/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.AssemblyReference.cache b/20231204/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.AssemblyReference.cache
new file mode 100644
index 0000000..4eb356a
Binary files /dev/null and b/20231204/ConsoleApp1/obj/Debug/ConsoleApp1.csproj.AssemblyReference.cache differ
diff --git a/20231204/ConsoleApp1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/20231204/ConsoleApp1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
new file mode 100644
index 0000000..102c7ac
Binary files /dev/null and b/20231204/ConsoleApp1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/20231204/proga_hazi.txt b/20231204/proga_hazi.txt
new file mode 100644
index 0000000..0276802
--- /dev/null
+++ b/20231204/proga_hazi.txt
@@ -0,0 +1,195 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Runtime.Remoting.Metadata.W3cXsd2001;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace hazi_generator
+{
+ internal class Program
+ {
+ static void eldontes(char valasz)
+ {
+ if (valasz == 'a')
+ {
+ alapSIM();
+ }
+ else
+ {
+ PUKosSIM();
+ }
+ }
+
+ static void PUKosSIM()
+ {
+ PUK[] listaPUK = new PUK[3];
+ Random r = new Random();
+
+ for (int i = 0; i < 3; i++)
+ {
+ int Sorszam = r.Next(10000000, 99999999);
+ PUK PUKosSIM = new PUK();
+ PUKosSIM.AlapSim(Sorszam);
+ listaPUK.SetValue(value: PUKosSIM, index: i);
+ }
+
+ foreach (SIM item in listaPUK)
+ {
+ Console.WriteLine(item.Sorszam);
+ Console.WriteLine(item.Pinkod);
+ Console.WriteLine();
+ }
+
+ for (int i = 0; i < listaPUK.Length; i++)
+ {
+ Console.WriteLine("Kérem adja meg a PIN kódot (3 lehetőség)");
+ for (int j = 0; j < 3; j++)
+ {
+ listaPUK[i].SimLetiltas(listaPUK[i].Sorszam, listaPUK[i].Pinkod);
+ if (listaPUK[i].Tudta)
+ {
+ break;
+ }
+ }
+ if (listaPUK[i].Tudta)
+ {
+ Console.WriteLine("A SIM feloldva");
+ }
+ else
+ {
+ Console.WriteLine("A SIM letiltva");
+ string puk = Convert.ToString(r.Next(1000, 9999));
+ Console.WriteLine($"A PUK-kódja: {puk}");
+ listaPUK[i].Puk(puk);
+ }
+ }
+
+ Console.ReadKey();
+
+ }
+
+ static void alapSIM()
+ {
+ SIM[] listaSIM = new SIM[3];
+ Random r = new Random();
+
+ for (int i = 0; i < 3; i++)
+ {
+ int Sorszam = r.Next(10000000, 99999999);
+ SIM alapSim = new SIM();
+ alapSim.AlapSim(Sorszam);
+ listaSIM.SetValue(value: alapSim, index: i);
+ }
+
+ foreach (SIM item in listaSIM)
+ {
+ Console.WriteLine(item.Sorszam);
+ Console.WriteLine(item.Pinkod);
+ Console.WriteLine();
+ }
+
+ for (int i = 0; i < listaSIM.Length; i++)
+ {
+ Console.WriteLine("Kérem adja meg a PIN kódot (3 lehetőség)");
+ for (int j = 0; j < 3; j++)
+ {
+ listaSIM[i].SimLetiltas(listaSIM[i].Sorszam, listaSIM[i].Pinkod);
+ if (listaSIM[i].Tudta)
+ {
+ break;
+ }
+ }
+ if (listaSIM[i].Tudta)
+ {
+ Console.WriteLine("A SIM feloldva");
+ }
+ else
+ {
+ Console.WriteLine("A SIM letiltva");
+ }
+ }
+
+ Console.ReadKey();
+ }
+
+ static void Main()
+ {
+ Console.WriteLine("Milyen típusú SIM kártyákat szeretne létrehozni (Alap -> a / PUK-kóddal rendelkezőt -> p): ");
+ char valasz = Convert.ToChar(Console.ReadLine());
+ eldontes(valasz);
+ }
+ }
+}
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace hazi_generator
+{
+ public class SIM
+ {
+ public int Sorszam;
+ public string Pinkod;
+ public bool Tudta;
+ public void AlapSim(int Szam)
+ {
+ Sorszam = Szam;
+
+ Console.WriteLine($"A {Sorszam} sorszámú SIM aktiválásához adja meg a pinkódot");
+ Pinkod = Console.ReadLine();
+ if (Pinkod.Length != 4)
+ {
+ throw new Exception("A pinkódnak pontosan 4 jegyűnek kell lennie.");
+ }
+ else
+ {
+ Console.WriteLine("SIM elmentve.");
+ }
+ }
+
+ public void SimLetiltas(int sorszam, string pin)
+ {
+ Tudta = false;
+ Console.WriteLine($"Adja meg a {sorszam} sorszámú SIM pink kódját: ");
+ string beirtPin = Console.ReadLine();
+ if (beirtPin != pin)
+ {
+ Console.WriteLine("Helytelen PIN kód");
+ }
+ else
+ {
+ Tudta = true;
+ Console.WriteLine("SIM feloldva");
+ }
+ }
+ }
+
+ public class PUK : SIM
+ {
+ public void Puk(string puk)
+ {
+ if (!Tudta)
+ {
+ Console.WriteLine("Adja meg a PUK kódot:");
+ string beirtpuk = Console.ReadLine();
+ if (beirtpuk == puk)
+ {
+ Tudta = true;
+ Console.WriteLine("A SIM feloldva, ismét próbálkozhat a PIN kóddal");
+ SimLetiltas(Sorszam,Pinkod);
+ }
+ else
+ {
+ Console.WriteLine("A SIM kártyát megsemmisítettük");
+ }
+ }
+ }
+ }
+}
+