/* Vards,Uzvārds: Maksimilians Lukjanskis Grupa: 110 Projekta nosaukums: Transport Līidzeklu noma Projekta apraksts: Programma atļaus cilvēkiem nomāt transportlīdzekļus un kad tie būs iznomāti rādīs ka tas transportlīdzeklis ir aizņemt. Kad veidots: Sākums 22/05/2026 Izmantotais compiler: https://www.programiz.com/csharp-programming/online-compiler/ */ using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; namespace TransportaNoma { //Abstraktā klase ( bāzes) abstract class Transports { private double cena; private string marka; private bool irAiznemts; private int jauda; public int nobraukums; private string karba; public double Cena { get {return cena;} set {cena = value;} } public string Marka { get {return marka;} set {marka = value;} } public bool IrAiznemts { get {return irAiznemts;} set {irAiznemts = value;} } public int Jauda { get {return jauda;} set {jauda = value;} } public int Nobraukums { get {return nobraukums;} set {nobraukums = value;} } public string Karba { get {return karba;} set {karba = value;} } public Transports() { irAiznemts = false; } } //Klase kas manto no klases Transports class Masina : Transports { public Masina(double cena, string marka, int jauda, int nobraukums, string karba) { Cena = cena; Marka = marka; Jauda = jauda; Nobraukums = nobraukums; Karba = karba; } } internal class galvenais { //Masivs ar visam masinam kas ir. static Masina[] masinuSaraksts = new Masina[] { new Masina(120.99, "BMW M3", 510, 15400, "Automāts"), new Masina(110.99, "Audi RS4", 450, 24300, "Automāts"), new Masina(115.99, "Mercedes-AMG C63", 510, 18900, "Automāts"), new Masina(105.89, "Alfa Romeo Giulia Quadrifoglio", 505, 31000, "Automāts"), new Masina(95.99, "Lexus IS F", 416, 85000, "Automāts"), new Masina(100.99, "Cadillac CT4-V Blackwing", 472, 9200, "Manuālā"), new Masina(85.99, "Subaru WRX STI", 310, 64000, "Manuālā"), new Masina(75.88, "Honda Civic Type R", 320, 15200, "Manuālā"), new Masina(70.66, "Volkswagen Golf R", 315, 28000, "Automāts"), new Masina(65.55, "Hyundai Elantra N", 276, 34500, "Manuālā"), new Masina(130.44, "BMW M5", 600, 41200, "Automāts") }; public static void Main() //Sākums { Console.WriteLine("\t Sveiki, lietotāj! \t"); Console.WriteLine("Vai jums ir autovadītāja tiesības? 1=jā || 2=nē"); int Izvele1 = Convert.ToInt32(Console.ReadLine()); switch(Izvele1) { case 1: IrTiesibas(); break; case 2: Console.WriteLine("Jums vajag tiesības lai iznomāt transportlīdzekli."); Console.WriteLine("--------------------------------------------------"); Main(); break; default: Console.WriteLine("Tāda opcija nepastāv!"); break; } } public static void IrTiesibas() // Metode kas aiziet ja cilvēks atzimē ka viņam ir tiesības. { Console.WriteLine("Jūs vēlaties nomāt mašīnu vai vienkārši apskatīties?"); Console.WriteLine("\t Nomāt = 1 || Apskatīties = 2 \t"); int Izvele2 = Convert.ToInt32(Console.ReadLine()); switch(Izvele2) { case 1: nomat(); break; case 2: apskatit(); Console.WriteLine("---------------------------------"); TehInfo(); break; default: Console.WriteLine("Tāda opcija nepastāv"); Main(); break; } } static double GalaSumma(int CikDienam, int NomatMasinu) { return Math.Abs(CikDienam * masinuSaraksts[NomatMasinu].Cena); } //metode kas izpilda visu nomāšanas procesu private static void nomat() { Console.WriteLine("Kādu automobili jūs gribētu nomāt? "); //For cikls iziet caur masiva elementiem un izvada visus for (int i = 0; i < masinuSaraksts.Length; i++) { Console.WriteLine( i+1+"."+masinuSaraksts[i].Marka +" | "+ masinuSaraksts[i].Cena + " Eiro | "+ masinuSaraksts[i].IrAiznemts); } int NomatMasinu = Convert.ToInt32(Console.ReadLine()) -1; if(masinuSaraksts[NomatMasinu].IrAiznemts == false) //Parbauda vai masina ir briva vai aiznemta { Console.WriteLine($"Jūs izvēlējāties {masinuSaraksts[NomatMasinu].Marka}"); Console.WriteLine("Uz cik dienām jūs vēlaties paņemt mašīnu?"); int CikDienam = Convert.ToInt32(Console.ReadLine()); Console.WriteLine($"Jums būs jaapmaksā: {GalaSumma(CikDienam, NomatMasinu)} Eiro "); //Aprekina cik bus jamaksā par masinu beigās Console.WriteLine("Jūs gatavi to apmaksāt? 1=jā || 2=nē"); int GatavsNe = Convert.ToInt32(Console.ReadLine()); switch(GatavsNe) { case 1: masinuSaraksts[NomatMasinu].IrAiznemts = true; //Pataisa mašīnu par aizņemtu ( pectam nevar panemt) Console.WriteLine("Jūs veiksmīgi rezervējāt mašīnu!"); Console.WriteLine("Jūs gribat atgriezties uz sākumu vai iziet ārā? 1=Uz sākumu || 2=iziet ārā."); int Sakums = Convert.ToInt32(Console.ReadLine()); switch(Sakums) { case 1: IrTiesibas(); break; case 2: Console.WriteLine("Visu labu!"); break; } break; case 2: Console.WriteLine("Visu labu!"); break; default: Console.WriteLine("Tāda opcija nav!"); nomat(); break; } } else if(masinuSaraksts[NomatMasinu].IrAiznemts == true) //Parbauda vai masina ir aizņemta ja ir tad neļauj to nomāt. { Console.WriteLine("Mašīna jau ir aizņemta, izvēlieties citu!"); nomat(); } else { Console.WriteLine("Tāda mašīna neeksistē! Izvēlieties eksistējošu automobīli!"); nomat(); } } public static void apskatit() // metode kas izvada mašīnu sarakstu. { //For cikls iziet caur masiva elementiem un izvada visus for (int i = 0; i < masinuSaraksts.Length; i++) { Console.WriteLine( i+1+"."+masinuSaraksts[i].Marka +" | "+ masinuSaraksts[i].Cena + " Euro | "+ masinuSaraksts[i].IrAiznemts); } } public static void TehInfo() // metode kas piedava cilvēkam izvēlēties vai viņš grib redžet mašīnas tehnisko informāciju { Console.WriteLine("Vai jūs gribētu apskatīt konkrētas mašinas tehnisko informāciju?"); Console.WriteLine("1=Jā || 2=Nē"); int Izvele3 = Convert.ToInt32(Console.ReadLine()); switch(Izvele3) { case 1: Console.WriteLine("Kuru automašīnu jūs gribētu pārbaudīt?"); int masinasN = Convert.ToInt32(Console.ReadLine()); Console.WriteLine($"Izvēlētā mašīna: {masinuSaraksts[masinasN - 1].Marka}"); Console.WriteLine($"Jauda(ZS) = {masinuSaraksts[masinasN - 1].Jauda} ZS"); Console.WriteLine($"Nobraukums = {masinuSaraksts[masinasN - 1].Nobraukums} km"); Console.WriteLine($"Kārba = {masinuSaraksts[masinasN - 1].Karba}"); TehInfo(); break; case 2: IrTiesibas(); break; default: Console.WriteLine("Tādas opcijas nav!"); Console.WriteLine("--------------------------------------------------"); Main(); break; } } } }