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"); } } } } }