/* Veidoja: Kaspars Pucinskis Grupa:110 Projekta nosaukums: Sporta zāles abonomentu sistēma Projekta apraksts: Šī projekta mērķis ir uztaisīt virtuālu abonomentu sistēmu sporta zālei, lai padarītu abonomentu pārbaudīšanu un skatāmību mūsdienāku un vieglāku sporta zāles adminstratoriem un klientiem. Nebūs vajadzība izdot kartiņas, kas apliecina abonomentus. Izveides datums: 14.05.2026 Izmantotais compiler: programiz (https://www.programiz.com/csharp-programming/online-compiler/) */ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace sportaZalesAbonomentuSistema { public abstract class abonomentaTips { public virtual void paraditBonusu() { Console.WriteLine("Pakalpojums pec abonomenta tipa"); } } //standarta klientiem bonuss public class standartaKlients : abonomentaTips { public override void paraditBonusu() { Console.WriteLine("[Sistemas pazinojums]: Registreta parasta piekluve zalei."); } } //vip klientiem bonuss public class VIPKlients : abonomentaTips { public override void paraditBonusu() { Console.WriteLine("[VIP pazinojums]: Registreta VIP piekluve zalei un bezmaksas piekluve saunai un baseinam."); } } internal class Konts { public string Username {get; private set;} //padaris lietotajavardu nemainamu, tikai caur konstruktoru var mainit public string Password {get; private set;} //padaris lietotajavardu nemainamu, tikai caur konstruktoru var mainit public static List Konti = new List() //saraksts ar kontiem { new Konts ("JanisSpekis123", "Janis123"), new Konts ("PeterisDators67", "KrutaisPeteris"), new Konts ("Andza03", "Parole123") }; public Konts(string LietotajaVards, string Parole) { Username = LietotajaVards; Password = Parole; } } internal class Profils { public static object klients = null; public static int ilgums = 0; public static double summa = 0; public static string lietotajs = "Viesis"; public static void Main() { //sveiciens Console.WriteLine("\t" + "Sveicinati Sporta zale!" + "\t"); pievienoties(); } public static void pievienoties() { //parbaudis vai cilveks velas pieslegties vai ne Console.WriteLine("Vai velaties pieslegties: Ja = 1; Ne = 2"); Console.Write("Atbilde: "); int atbilde = Convert.ToInt32(Console.ReadLine()); if (atbilde == 1) { pieslegties(); } else if (atbilde == 2) { Console.WriteLine("\t" + "Visu labu!" + "\t"); return; } else { Console.WriteLine("Skaitlis, kas ierakstits nepastav!"); pievienoties(); } } public static void pieslegties() { Console.Write("Ievadiet Lietotaja vardu: "); string vards = Console.ReadLine(); Console.Write("Ievadiet Paroli: "); string parole = Console.ReadLine(); bool atpazits = parbauditLietotaju(vards, parole); //ja sakrit tad... ja nesakrit tad... if (atpazits == true) { lietotajs = vards; Console.WriteLine("\n" + "Pieslegsanas veiksmiga! Sveiki, " + vards + "!" + "\n"); Izvelne.Paradit(); } else { Console.WriteLine("\n" + "Nepareizs lietotajvards vai parole! Meginiet velreiz." + "\n"); pieslegties(); } } private static bool parbauditLietotaju(string vards, string parole) { //parbaudis vai cilveka ievaditais sakrit ar jau ar kadu no gatavajiem profiliem for (int x = 0; x < Konts.Konti.Count; x++) { if (Konts.Konti[x].Username == vards && Konts.Konti[x].Password == parole) { return true; } } return false; } } internal class Izvelne { public static void Paradit() { Console.WriteLine("Ievadi vajadzigo opciju:" + "\n" + "1 = Abonomentu Opcijas" + "\n" + "2 = Parbaudit abonomentu aktivitati" + "\n" + "3 = Beigt darbu"); Console.Write("Atbilde: "); int izvelne = Convert.ToInt32(Console.ReadLine()); //izvelne ar pieejamajam opcijam switch (izvelne) { case 1: Abonomenti.abonomentuOpcijas(); break; case 2: Abonomenti.parbauditAktivitati(Profils.ilgums, Profils.lietotajs); break; case 3: Console.WriteLine("Uz drizu tiksanos! Jauku jums atlikuso dienu!"); return; default: Console.WriteLine("Ievaditais skaitlis neatbilst ar abonomentu ilgumiem!" + "\n"); Izvelne.Paradit(); break; } } } internal class Abonomenti { public static void abonomentuOpcijas() { //divdimensionalais masivs ar ilgumiem un cenam double[,] abonomentuDati = new double [2, 5] { {1, 3, 7, 30, 90}, {4.99, 12.99, 19.99, 34.99, 89.99} }; Console.WriteLine("\n" + "\t" + "Pieejamie abonomentu ilgumi un cenas" + "\t"); //izvadis divdimensionalo masivu, kas paradis abonomentu ilgumus un cenas for (int i = 0; i < 5; i++) { Console.WriteLine((i+1) + ". variants: Ilgums: " + abonomentuDati[0, i] + " diena/s; Cena: " + abonomentuDati[1, i] + " EUR"); } Console.Write("Ievadi abonomenta variantu: "); int abonoments = Convert.ToInt32(Console.ReadLine()); //abonomentu opcijas switch (abonoments) { case 1: Console.WriteLine("Izveletais abonomenta ilgums: 1 diena" + "\n"); Profils.ilgums = Profils.ilgums + 1; //saskaitis abonomentu dienas ilgumu kopa Profils.summa = Profils.summa + 4.99; //saskaitis abonomentu cenu kopa //abonomenta tips Profils.klients = new standartaKlients(); break; case 2: Console.WriteLine("Izveletais abonomenta ilgums: 3 dienas" + "\n"); Profils.ilgums = Profils.ilgums + 3; Profils.summa = Profils.summa + 12.99; Profils.klients = new standartaKlients(); break; case 3: Console.WriteLine("Izveletais abonomenta ilgums: 7 dienas" + "\n"); Profils.ilgums = Profils.ilgums + 7; Profils.summa = Profils.summa + 19.99; Profils.klients = new standartaKlients(); break; case 4: Console.WriteLine("Izveletais abonomenta ilgums: 30 dienas" + "\n"); Profils.ilgums = Profils.ilgums + 30; Profils.summa = Profils.summa + 34.99; Profils.klients = new standartaKlients(); break; case 5: Console.WriteLine("Izveletais abonomenta ilgums: 90 dienas" + "\n"); Profils.ilgums = Profils.ilgums + 90; Profils.summa = Profils.summa + 89.99; Profils.klients = new VIPKlients(); break; default: Console.WriteLine("Ievaditais skaitlis neatbilst abonomentu ilgumiem!" + "\n"); abonomentuOpcijas(); break; } Console.WriteLine("Abonomenta ilgums: " + Profils.ilgums + " diena/s"); Console.WriteLine("Kopeja summa: " + Math.Round(Profils.summa) + " EUR" + "\n"); Izvelne.Paradit(); } public static void parbauditAktivitati(int dienas, string lietotajs) { //parbaudis abonomenta aktivitati bool aktivitate = false; if (dienas>0) { aktivitate = true; } //ja abonoments ne/aktivs tad if (aktivitate == true) { Console.WriteLine("Lietotaja " + lietotajs + " abonomenta aktivitate: Aktivs(" + Profils.ilgums + " diena/s)" + "\n"); //ja klients nav vienads ar tuksumu, tad izvada abonomenta tipu. if (Profils.klients != null) { ((abonomentaTips)Profils.klients).paraditBonusu(); Console.WriteLine(); } Izvelne.Paradit(); } else { Console.WriteLine("Lietotaja " + lietotajs + " abonomenta aktivitate: Neaktivs(" + Profils.ilgums + " diena/s)" + "\n"); Izvelne.Paradit(); } } } }