/// <summary> /// Za sve ulice i svakog pojedinog korisnika nasumično generira količinu otpada po pojedinoj vrsti otpada. /// </summary> /// <param name="ulice"></param> /// <param name="datotekaParametara"></param> /// <returns></returns> public static List <Ulica> OdrediOtpadKorisnicima(List <Ulica> ulice, string datotekaParametara) { ParametriSingleton parametri = ParametriSingleton.DohvatiInstancu(datotekaParametara); int sjemeGeneratora = int.Parse(parametri.DohvatiParametar("sjemeGeneratora")); GeneratorBrojevaSingleton generatorBrojeva = GeneratorBrojevaSingleton.DohvatiInstancu(sjemeGeneratora); foreach (Ulica ulica in ulice) { foreach (Korisnik korisnik in ulica.KorisniciMali) { korisnik.Otpad = OdrediOtpadKorisnikuPoVrsti(parametri, generatorBrojeva, Kategorija.Mali); } foreach (Korisnik korisnik in ulica.KorisniciSrednji) { korisnik.Otpad = OdrediOtpadKorisnikuPoVrsti(parametri, generatorBrojeva, Kategorija.Srednji); } foreach (Korisnik korisnik in ulica.KorisniciVeliki) { korisnik.Otpad = OdrediOtpadKorisnikuPoVrsti(parametri, generatorBrojeva, Kategorija.Veliki); } } return(ulice); }
private static void UcitajParametre() { if (!File.Exists(Program.DatotekaParametara)) { Pomocno.ZavrsiProgram("Datoteka s parametrima ne postoji!", false); } Program.Parametri = ParametriSingleton.DohvatiInstancu(Program.DatotekaParametara); Program.PutanjaDatoteka = Path.GetDirectoryName(Program.DatotekaParametara); }
public override void ObaviIspis(string redakTeksta) { ParametriSingleton parametri = ParametriSingleton.DohvatiInstancu(Program.DatotekaParametara); datotekaIzlaza = Pomocno.DohvatiPutanjuDatoteke(parametri.DohvatiParametar("izlaz")); if (this.provjeriPostojanjeDatoteke()) { ispisZaslon = new IspisZaslon(); ispisZaslon.ObaviIspis(redakTeksta); this.ispisUDatoteku(redakTeksta); } }
public static List <Ulica> OdrediOtpadKorisnicima(List <Ulica> ulice, string datotekaParametara) { ParametriSingleton parametri = ParametriSingleton.DohvatiInstancu(datotekaParametara); int sjemeGeneratora = int.Parse(parametri.DohvatiParametar("sjemeGeneratora")); GeneratorBrojevaSingleton generatorBrojeva = GeneratorBrojevaSingleton.DohvatiInstancu(sjemeGeneratora); int brojDecimala = parametri.DohvatiParametarInt("brojDecimala"); foreach (Ulica ulica in ulice) { Dictionary <VrstaOtpada, float> sumaOtpada = new Dictionary <VrstaOtpada, float>(); foreach (Korisnik korisnik in ulica.KorisniciMali) { foreach (VrstaOtpada vrsta in Enum.GetValues(typeof(VrstaOtpada))) { string korisnikKategorija = korisnik.Kategorija.ToString().ToLower(); int minParametar = parametri.DohvatiParametarInt(korisnikKategorija + "Min"); int gornjaVrijednost = parametri.DohvatiParametarInt(korisnikKategorija + vrsta.ToString()); float minVrijednost = (float)minParametar / 100 * gornjaVrijednost; float maxVrijednost = gornjaVrijednost; korisnik.Otpad[vrsta] = generatorBrojeva.DajSlucajniBrojFloat(minVrijednost, maxVrijednost, brojDecimala); sumaOtpada[vrsta] = 0; sumaOtpada[vrsta] += korisnik.Otpad[vrsta]; } } foreach (Korisnik korisnik in ulica.KorisniciSrednji) { foreach (VrstaOtpada vrsta in Enum.GetValues(typeof(VrstaOtpada))) { string korisnikKategorija = korisnik.Kategorija.ToString().ToLower(); int minParametar = parametri.DohvatiParametarInt(korisnikKategorija + "Min"); int gornjaVrijednost = parametri.DohvatiParametarInt(korisnikKategorija + vrsta.ToString()); float minVrijednost = (float)minParametar / 100 * gornjaVrijednost; float maxVrijednost = gornjaVrijednost; korisnik.Otpad[vrsta] = generatorBrojeva.DajSlucajniBrojFloat(minVrijednost, maxVrijednost, brojDecimala); sumaOtpada[vrsta] += korisnik.Otpad[vrsta]; } } foreach (Korisnik korisnik in ulica.KorisniciVeliki) { foreach (VrstaOtpada vrsta in Enum.GetValues(typeof(VrstaOtpada))) { string korisnikKategorija = korisnik.Kategorija.ToString().ToLower(); int minParametar = parametri.DohvatiParametarInt(korisnikKategorija + "Min"); int gornjaVrijednost = parametri.DohvatiParametarInt(korisnikKategorija + vrsta.ToString()); float minVrijednost = (float)minParametar / 100 * gornjaVrijednost; float maxVrijednost = gornjaVrijednost; korisnik.Otpad[vrsta] = generatorBrojeva.DajSlucajniBrojFloat(minVrijednost, maxVrijednost, brojDecimala); sumaOtpada[vrsta] += korisnik.Otpad[vrsta]; } } Console.WriteLine(); Console.WriteLine(ulica.Naziv); foreach (VrstaOtpada vrsta in Enum.GetValues(typeof(VrstaOtpada))) { Console.WriteLine("{0}: {1}kg", vrsta, sumaOtpada[vrsta]); } } return(ulice); }