/* Vards, uzvards: Roberts Dorbe Grupa: 110 Projekta nosaukums: NoliktavasSistema Projekta apraksts: Programma ir paredzēta noliktavas preču reģistrēšanai un to pamatinformācijas attēlošanai konsoles logā. Kad veidots: 04.06.2026 Programa: onlinegdb.com */ using System; using System.Collections.Generic; namespace NoliktavasSistema { // Abstrakta klase abstract class Produkts { // Abstrakta metode public abstract void ParaditInformaciju(); } // Preces klase class Prece : Produkts { // Mainīgie private string nosaukums; private double cena; private int daudzums; public bool irPieejams; // Properties public string Nosaukums { get { return nosaukums; } set { nosaukums = value; } } public double Cena { get { return cena; } set { cena = value; } } public int Daudzums { get { return daudzums; } set { daudzums = value; } } // Konstruktors public Prece(string n, double c, int d, bool p) { nosaukums = n; cena = c; daudzums = d; irPieejams = p; } // Pārrakstīta metode (polimorfisms) public override void ParaditInformaciju() { Console.WriteLine("Nosaukums: " + nosaukums); Console.WriteLine("Cena: " + Math.Round(cena, 2)); Console.WriteLine("Daudzums: " + daudzums); Console.WriteLine("Pieejams: " + irPieejams); } // Metode daudzuma maiņai public void MainitDaudzumu(int jaunais) { daudzums = jaunais; } // Metode cenas maiņai public void MainitCenu(double jaunaCena) { cena = jaunaCena; } } // Papildus klase class Noliktava { public string Nosaukums; public Noliktava(string nosaukums) { Nosaukums = nosaukums; } public void ParaditNoliktavu() { Console.WriteLine("Noliktava: " + Nosaukums); } } // Programmas klase class Program { // Saraksts ar precēm static List preces = new List(); // Masīvs static string[] kategorijas = { "Partika", "Elektronika", "Apgerbs" }; // Metode visu preču attēlošanai static void ParaditVisus() { Console.WriteLine(); // Pirmais for cikls for (int i = 0; i < preces.Count; i++) { Console.WriteLine("N.r.p.k.: " + i); preces[i].ParaditInformaciju(); Console.WriteLine(); } } // Programmas sākums static void Main(string[] args) { // Divi objekti no citas klases Noliktava n1 = new Noliktava("1. noliktava"); Noliktava n2 = new Noliktava("2. noliktava"); n1.ParaditNoliktavu(); n2.ParaditNoliktavu(); Console.WriteLine(); Console.WriteLine("Pieejamās kategorijas:"); // Otrais for cikls for (int j = 0; j < kategorijas.Length; j++) { Console.WriteLine("- " + kategorijas[j]); } // Bezgalīgais cikls izvēlnei while (true) { Console.WriteLine(); Console.WriteLine("1 - Pievienot produktu"); Console.WriteLine("2 - Parādīt visus produktus"); Console.WriteLine("3 - Mainīt produktu"); Console.WriteLine("4 - Iziet"); Console.Write("Izvēle: "); int izvele = Convert.ToInt32(Console.ReadLine()); switch (izvele) { // Pievienot produktu case 1: Console.Write("Nosaukums: "); string n = Console.ReadLine(); Console.Write("Cena: "); double c = Convert.ToDouble(Console.ReadLine()); // Otrais if...else if (c > 0) { Console.WriteLine("Cena ir derīga"); } else { Console.WriteLine("Cena nevar būt negatīva"); } Console.Write("Daudzums: "); int d = Convert.ToInt32(Console.ReadLine()); preces.Add(new Prece(n, c, d, true)); Console.WriteLine("Produkts pievienots"); break; // Parādīt visus produktus case 2: ParaditVisus(); break; // Mainīt produktu case 3: ParaditVisus(); Console.Write("Kuru index mainīt: "); int i = Convert.ToInt32(Console.ReadLine()); // Pirmais if...else if (i >= 0 && i < preces.Count) { Console.WriteLine("1 - Mainīt daudzumu"); Console.WriteLine("2 - Mainīt cenu"); Console.Write("Izvēle: "); int t = Convert.ToInt32(Console.ReadLine()); switch (t) { case 1: Console.Write("Jauns daudzums: "); int d1 = Convert.ToInt32(Console.ReadLine()); preces[i].MainitDaudzumu(d1); Console.WriteLine("Daudzums nomainīts"); break; case 2: Console.Write("Jauna cena: "); double c1 = Convert.ToDouble(Console.ReadLine()); preces[i].MainitCenu(c1); Console.WriteLine("Cena nomainīta"); break; default: Console.WriteLine("Nepareiza izvēle"); break; } } else { Console.WriteLine("Nepareizs index"); } break; // Iziet case 4: return; default: Console.WriteLine("Nepareiza izvēle"); break; } } } } }