/// <summary> /// Naključna tabela 100 koles /// </summary> /// <returns></returns> public Kolo[] GenerirajTabeloKoles() { string[] izbiraPrestav = { "1", "2", "3", "4", "5", "6" }; string[] izbiraBarv = { "bela", "crna", "rdeca", "rumena", "modra", "vijola", "zelena", "oranzna", "siva", "roza", "rjava" }; string[] izbiraTipa = { "gorsko", "cestno", "treking" }; string[] izbiraLetaIzdelave = { "2000", "2001", "2003", "2005", "2009", "2010" }; string[] izbiraStLjudi = { "1", "2", "3" }; Kolo[] tabelaKoles = new Kolo[100]; Random genPrestave = new Random(); Random genBarve = new Random(); Random genTip = new Random(); Random genLetoIzdelave = new Random(); Random genStLjudi = new Random(); for (int i = 0; i < tabelaKoles.Length; i++) { int prestave = genPrestave.Next(0, 6); //generiram naključno stevilo int barva = genBarve.Next(0, 11); int tip = genTip.Next(0, 3); int leto_izdelave = genLetoIzdelave.Next(0, 6); int stLjudi = genStLjudi.Next(0, 3); tabelaKoles[i] = new Kolo(int.Parse(izbiraPrestav[prestave]), izbiraBarv[barva], izbiraTipa[tip], int.Parse(izbiraLetaIzdelave[leto_izdelave]), int.Parse(izbiraStLjudi[stLjudi])); } return(tabelaKoles); }
/// <summary> /// Iz datoteke z imenom moja_dat prebere zeljeno vrstico in izpise podatke o kolesu. /// </summary> /// <param name="moja_dat"></param> /// <param name="vrstica"></param> /// <returns></returns> public static Kolo UstvariIzDatoteke(string moja_dat, int vrstica) { //ce datoteka ne obstaja, vrnemo napako if (!File.Exists(moja_dat)) { throw new Exception("Ta datoteka ne obstaja!"); } string zeljena_vrstica = ""; using (StreamReader branje = new StreamReader(moja_dat)) for (int i = 1; i <= vrstica; i++) { zeljena_vrstica = branje.ReadLine(); //ce ni dovolj vrstic v datoteki, vrnemo napako if (zeljena_vrstica == null) { throw new Exception("V datoteki ni toliko vrstic!"); } } string[] podatek = zeljena_vrstica.Split(';'); Kolo kolo = new Kolo(int.Parse(podatek[0]), podatek[1], podatek[2], int.Parse(podatek[3]), int.Parse(podatek[4])); return(kolo); }
/// <summary> /// Podatke o kolesu zapise na datoteko z imenom moja_dat. /// </summary> /// <param name="moja_dat"></param> /// <param name="kolo"></param> public static void DodajNaDatoteko(string moja_dat, Kolo kolo) { if (File.Exists(moja_dat)) //ce datoteka ze obstaja { using (StreamWriter pisanje = File.CreateText(moja_dat)) { pisanje.WriteLine(kolo.ToString()); } } else //(File.Exists(moja_dat)) ce datoteka se ne obstaja, ustvarimo datoteko za pisanje { using (StreamWriter pisanje = File.CreateText(moja_dat)) { pisanje.WriteLine(kolo.ToString()); } } }
/// <summary> /// Iz datoteke prebere podatke in vrne tabelo koles. /// </summary> /// <param name="moja_dat"></param> /// <returns></returns> public Kolo[] TabelaIzDatoteke(string moja_dat) { //ce datoteka ne obstaja, vrnemo napako if (!File.Exists(moja_dat)) { throw new Exception("Ta datoteka ne obstaja!"); } int vrstice = File.ReadLines(moja_dat).Count(); //vrstic je toliko koliko je koles Kolo[] tabelaKoles = new Kolo[vrstice]; using (StreamReader branje = new StreamReader(moja_dat)) for (int i = 1; i <= vrstice; i++) { tabelaKoles[i - 1] = UstvariIzDatoteke(moja_dat, i); } return(tabelaKoles); }
static void Main(string[] args) { Kolo mojeKolo = new Kolo(5, "modra", "gorsko", 2005, 1); //ustvarim novo kolo //tabela 100tih koles string[] barve = new string[] { "bela", "crna", "rdeca", "rumena", "modra", "vijola", "zelena", "oranzna", "siva", "roza", "rjava" }; string[] tipi = new string[] { "gorsko", "cestno", "treking" }; Kolo[] tabela = new Kolo[100]; Random random = new Random(); for (int i = 0; i < tabela.Length; i++) { Kolo kolo = new Kolo(random.Next(1, 6), barve[random.Next(0, barve.Length)], tipi[random.Next(0, tipi.Length)], random.Next(1950, DateTime.Now.Year + 1), random.Next(1, 11)); tabela[i] = kolo; } Console.WriteLine(); Console.WriteLine(); int prestava = tabela[24].PovejPrestave(); Console.WriteLine("Petindvajseto kolo v tabeli ima prestave: " + prestava + "."); string barva = tabela[28].PovejBarvo(); Console.WriteLine("Barva devetindvajsetega kolesa v tabeli je: " + barva + "."); string tip = tabela[99].PovejTip(); Console.WriteLine("Stoto kolo v tabeli je tipa: " + tip + "."); int leto = tabela[10].PovejPrestave(); Console.WriteLine("Enajsto kolo v tabeli je bilo izdelano leta: " + leto + "."); int kolikoLjudi = tabela[51].PovejPrestave(); Console.WriteLine("Dvainpetdeseto kolo v tabeli je predpisamo za " + kolikoLjudi + "ljudi."); Console.WriteLine(); Console.WriteLine(); tabela[9].NastaviBarvo("roza"); tabela[9].NastaviPrestave(4); tabela[9].NastaviLeto(2018); tabela[9].NastaviStLjudi(3); tabela[9].NastaviTip("cestno"); Console.WriteLine("Deseto kolo v tabeli koles mora biti cestno kolo roza barve izdelano leta 2018. Primerno je za 3 ljudi in ima 4 prestave."); Console.WriteLine(); for (int i = 0; i < tabela.Length; i++) { Console.WriteLine(tabela[i]); } Console.WriteLine(" "); Console.WriteLine(); //koliko koles je dolocene barve int modraKolesa = mojeKolo.prestejBarveKoles(tabela, "modra"); Console.WriteLine("Stevilo modrih koles v tabeli je: " + modraKolesa); int sivaKolesa = mojeKolo.prestejBarveKoles(tabela, "siva"); Console.WriteLine("Stevilo sivih koles v tabeli je: " + sivaKolesa); int zlataKolesa = mojeKolo.prestejBarveKoles(tabela, "zlata"); Console.WriteLine("Stevilo zlatih koles v tabeli je: " + zlataKolesa); //koliko ljudi se lahko hkrati vozi s cestnimi kolesi int koliko = mojeKolo.KolikoSCestnimiKolesi(tabela); Console.WriteLine("Hkrati se s cestnimi kolesi lahko vozi " + koliko + "ljudi"); //prebarvamo kolo - metoda vraca samo ucinek mojeKolo.prebarvaj(tabela); Console.WriteLine(); Console.WriteLine("Rumena kolesa smo prebarvali v rdeca. "); for (int i = 0; i < tabela.Length; i++) { Console.WriteLine(tabela[i]); } Console.WriteLine(" "); Console.ReadLine(); foreach (Kolo kolo in tabela) { Kolo.DodajNaDatoteko("dat_koles", kolo); } ; //podatke napisemo na dat Console.WriteLine(); Console.WriteLine("Ali dobimo kolo?"); Kolo k = Kolo.UstvariIzDatoteke("C: \\Users\\katar\\OneDrive\\Dokumenti\\Programiranje3\\Vaje_30_3\\Razred_kolo\\dat_koles", 3); Console.WriteLine(k.ToString()); Console.WriteLine(); Odstrani("C: \\Users\\katar\\OneDrive\\Dokumenti\\Programiranje3\\Vaje_30_3\\Razred_kolo\\dat_koles"); Izdelava("C: \\Users\\katar\\OneDrive\\Dokumenti\\Programiranje3\\Vaje_30_3\\Razred_kolo\\dat_koles"); }