public static Esine LuoEsine() { //Esineen luonti metodi string Nimi; Esine _Esine = new Esine(); Write("Anna esineen nimi (tyhjä lopettaa): "); Nimi = TarSan(ReadLine()); //Esine nimetään ja kysytään paino jollei syötetty nimi ollut tyhjä. if (Nimi.Length != 0) { _Esine.Nimi = Nimi; Write("Anna esineen paino (kg): "); _Esine.Paino = TarDes(ReadLine()); } //Jos syötetty nimi oli tyhjä esineen nimeksi annetaan tyhjä, jollain palautetaan "tyhjä" joka ohittaa esineen lisäyksen laatikkoon. if (Nimi.Length == 0) { _Esine.Nimi = "Tyhjä"; } return(_Esine); }
public static void Lisäys(Laatikko Laatikko, Esine Esine) { //Metodi jossa hoidetaan esineen lisäys laatikkoon. int Maara = 0; int Lisatyt = 0; Write("Lisättävä määrä: "); Maara = TarInt(ReadLine()); //For loopilla lisätään niin monta esine oliota kuin laatikkoon mahtuu ennen painorajaa. try { for (int i = 0; i < Maara; i++) { //Laatikkoon lisäys hoidettu ohjeessa vaaditulla LisaaEsine metodilla. Lisatyt += Laatikko.LisaaEsine(Esine, Maara); } } //Mahdollisen virheen nappaus ja virheviestin kirjoitus. catch (Exception ex) { WriteLine(ex.Message); } //Lisättyjen esineiden nimen ja lisätyn määrän tulostus. WriteLine($"Esinettä {Esine.Nimi} lisättiin {Lisatyt} kpl."); }
public static void Ohjelma() { // Ohjelman suoritus metodi. //Luodaan lista laatikoista. WriteLine("Tehdään laatikot"); List <Laatikko> Laatikot = new List <Laatikko>() { }; //Luodaan lista laatikon sisällä olevista esineistä. Laatikko Laatikko = _Laatikko(); //If lause jolla tarkistetaan ettei nimi ole tyhjä, jos on skipataan. if (Laatikko.Nimi.Length != 0) { WriteLine("Lisätään laatikkoon esineitä"); } //while loop jota suoritetaan kunnes laatikon nimi on tyhjä. while (Laatikko.Nimi.Length > 0) { Esine _Esine = LuoEsine(); //whileloop jolla lisätään oliota laatikkoon kunnes nimi tulee tyhjänä. while (_Esine.Nimi != "Tyhjä") { if (_Esine.Nimi.Length != 0) { Lisäys(Laatikko, _Esine); } _Esine = LuoEsine(); } //Lisätään valmis laatikko laatikot listaan. Laatikot.Add(Laatikko); //Tyhä rivi jolla selkeytetään lukemista. WriteLine(); //Uuden laatikon luonti. Laatikko = _Laatikko(); } //for loop jolla kirjoitetaan tuotetut laatikot ja halutut arvot. for (int i = 0; i < Laatikot.Count; i++) { WriteLine(); WriteLine(Laatikot[i]); WriteLine($"Esineitä {Laatikot[i].Esineet.Count} kpl."); WriteLine($"Painavin esine {Laatikot[i].Painavin.Nimi} {Laatikot[i].Painavin.Paino} kg."); WriteLine(); } }
public int LisaaEsine(Esine Lisataan, int Maara) { Maara = 1; if (Kokonaispaino + Lisataan.Paino <= MAxPai) { Esineet.Add(Lisataan); } else { throw new Exception($"Virhe: Laatikkoon {Nimi} ei voitu lisätä, koska maksimipaino olisi ylittynyt."); } return(Maara); }