/* "Meta dati" * Renārs Pujats * Grupa 110 * Projekta nosaukums: Velosipēdu veikala un noliktavas sistēma * Projekta apraksts: Programma nodrošina velosipēdu tirdzniecību loģiku, servisa pakalpojumu uzskaiti un preču reģistrāciju. * Kad veidots: 21/05/2026 * Rediģēts: 29/05/2026 * Izstrādes vide: OnlineGDB */ using System; namespace VeloVeikals { class Program { // Pašu veidota metode Nr.1 ar 2 parametriem, kas atgriež vērtību static double AprekinatAtlaidi(double kopejaSumma, int pirkumuSkaits) { return pirkumuSkaits > 1 ? kopejaSumma * 0.10 : 0.0; } // Pašu veidota metode Nr.2 (atgriež vērtību) static double AprēķinātPVN(double summa) { return summa * 0.21; } // Pašu veidota metode Nr.3 (void metode) static void Sveiciens() { Console.WriteLine("Sistēma ielādēta veiksmīgi!"); } static void Main(string[] args) { Sveiciens(); // Izsaucam metodi programmas sākumā // Definējam mainīgos (5 dažādi tipi) string veikalaNosaukums = " Super VeloOS Veikals "; // Teksts int pieejamieRiteni = 12; // Vesels skaitlis double cenaParVienu = 350.75; // Skaitlis ar komatu char kategorija = 'V'; // Viens simbols bool vaiAtverts = true; // Jā/Nē vērtība // Darbība ar tekstu - noņemam atstarpes un uzliekam lielos burtus string nosaukumsFormata = veikalaNosaukums.Trim().ToUpper(); Console.WriteLine("=== " + nosaukumsFormata + " ==="); Console.WriteLine("Mūsu preču kategorija: " + kategorija); // Masīvs ar servisa pakalpojumiem un darbība ar to (Kārtošana un iziešana cauri) string[] pakalpojumi = { "Garantija", "Apkope", "Tūnings" }; Array.Sort(pakalpojumi); Console.WriteLine("\nPieejamie papildpakalpojumi:"); foreach (string pakalpojums in pakalpojumi) { Console.WriteLine("- " + pakalpojums); } // Lietotāja ievade - pajautājam daudzumu Console.Write("\nPieejami 12 velosipēdi Trek Marlin"); Console.Write("\nCik velosipēdus gribat pirkt? "); string lietotajaIevade = Console.ReadLine(); // Tipu pārveidošana - teksts pārtop par skaitli int daudzums = Convert.ToInt32(lietotajaIevade); // Operatori (reizināšana, mazāks/vienāds, loģiskais UN) double summa = cenaParVienu * daudzums; bool vaiIrNoliktava = daudzums <= pieejamieRiteni; // Sazarojums - pārbaudām, vai varam pārdot if (vaiAtverts && vaiIrNoliktava) { // Matemātikas metode - noapaļojam summu double galaSumma = Math.Round(summa, 2); // Aprēķinām atlaidi un PVN double atlaide = AprekinatAtlaidi(galaSumma, daudzums); galaSumma = galaSumma - atlaide; double pvnSumma = AprēķinātPVN(galaSumma); Console.WriteLine("\nPirkums veiksmīgs!"); if (atlaide > 0) Console.WriteLine($"Piešķirta apjoma atlaide: {Math.Round(atlaide, 2)} EUR"); Console.WriteLine("Jums jāmaksā: " + Math.Round(galaSumma, 2) + " EUR"); Console.WriteLine($"Iekļautais PVN (21%): {Math.Round(pvnSumma, 2)} EUR"); // Switch Sazarojums Console.Write("\nIzvēlieties saņemšanu (1 - Veikalā, 2 - Kurjers): "); string piegade = Console.ReadLine(); switch(piegade) { case "1": Console.WriteLine("Saņemšana uz vietas bez maksas."); break; case "2": Console.WriteLine("Piegāde ar kurjeru: +6.70 EUR"); break; default: Console.WriteLine("Standarta saņemšana."); break; } } else { Console.WriteLine("\nAtvainojiet, pirkums nav iespējams."); } // Izveidoti 2 dažādu klašu objekti un izsauktas to metodes Console.WriteLine("\n--- Premium preču katalogs ---"); Velosipeds kalnuVelo = new Velosipeds("Trek Marlin", 599.00, "Kalnu", "Melna", 29); VeikalaInfo info = new VeikalaInfo("Aktīva"); kalnuVelo.Apraksts(); // Izsauc realizēto abstrakto metodi kalnuVelo.Pardot(); // Izsauc pārdefinēto virtuālo metodi (Polimorfisms) kalnuVelo.ParaditKrasu(); // Izsauc klases specifisko metodi // Izsauc otras klases metodi un īpašību Console.WriteLine($"Veikala režīms: {info.Sezona}"); info.ParaditAdresi(); // Izmanto private modifikatoru darbībā // Cikls - izvadam nelielu sarakstu beigās Console.WriteLine("\nSagatavojam čekus:"); for (int i = 1; i <= 2; i++) { Console.WriteLine("Čeka kopija nr. " + i + " gatava."); } Console.WriteLine("\nPaldies!"); Console.ReadKey(); } } // 1. Abstrakcija & Piekļuves modifikatori abstract class Prece { public string Nosaukums { get; set; } // Property ar get/set protected double cena; // Modifikators: protected // Konstruktors public Prece(string nosaukums, double cena) { Nosaukums = nosaukums; this.cena = cena; } public abstract void Apraksts(); // Abstraktā metode // Virtuālā metode pārdefinēšanai (Polimorfismam) public virtual void Pardot() { Console.WriteLine("Prece ir reģistrēta pārdošanai."); } } // 2. Mantojamība, Klases biedri & Polimorfisms class Velosipeds : Prece { // 3 klases atribūti public string Tips { get; set; } public string Krasa { get; set; } public int Izmers { get; set; } // Konstruktors ar bāzes izsaukumu public Velosipeds(string nosaukums, double cena, string tips, string krasa, int izmers) : base(nosaukums, cena) { Tips = tips; Krasa = krasa; Izmers = izmers; } // Realizējam abstrakciju public override void Apraksts() { Console.WriteLine($"Velosipēds: {Nosaukums}, tips: {Tips}, rāmja izmērs: {Izmers}\""); } // Pārdefinējam metodi (Polimorfisms) public override void Pardot() { Console.WriteLine($"Paziņojums: Velosipēds {Nosaukums} ir veiksmīgi pārdots un norakstīts no sistēmas."); } // 1 klases metode public void ParaditKrasu() { Console.WriteLine($"Modelis: {Nosaukums}, Krāsa: {Krasa}, Cena: {cena} EUR"); } } // 3. Otra klase (Izmantots public un private) class VeikalaInfo { public string Sezona { get; set; } private string veikalaAdrese = "Brīvības iela 100, Rīga"; // Modifikators: private public VeikalaInfo(string sezona) { Sezona = sezona; } public void ParaditAdresi() { Console.WriteLine($"Veikala fiziskā adrese: {veikalaAdrese}"); } } }