bool blad = false; bool blad200 = false; bool blad100 = false; bool blad50 = false; bool blad20 = false; bool blad10 = false; int srednia, ilosc200, ilosc100, ilosc50, ilosc20, ilosc10; ilosc200 = 0; ilosc100 = 0; ilosc50 = 0; ilosc20 = 0; ilosc10 = 0; srednia = (Operacje.n200.Count + Operacje.n100.Count + Operacje.n50.Count + Operacje.n20.Count + Operacje.n10.Count) / 5; while (Operacje.kwota > 0 && !blad) { if (Operacje.kwota >= 200 && Operacje.n200.Count > 0 && Operacje.n200.Count >= srednia) { ilosc200++; Operacje.kwota -= 200; Operacje.n200.RemoveAt(0); srednia = (Operacje.n200.Count + Operacje.n100.Count + Operacje.n50.Count + Operacje.n20.Count + Operacje.n10.Count) / 5; } else { blad200 = true; } if (Operacje.kwota >= 100 && Operacje.n100.Count > 0 && Operacje.n100.Count >= srednia) { ilosc100++; Operacje.kwota -= 100; Operacje.n100.RemoveAt(0); srednia = (Operacje.n200.Count + Operacje.n100.Count + Operacje.n50.Count + Operacje.n20.Count + Operacje.n10.Count) / 5; } else { blad100 = true; } if (Operacje.kwota >= 50 && Operacje.n50.Count > 0 && Operacje.n50.Count >= srednia) { ilosc50++; Operacje.kwota -= 50; Operacje.n50.RemoveAt(0); srednia = (Operacje.n200.Count + Operacje.n100.Count + Operacje.n50.Count + Operacje.n20.Count + Operacje.n10.Count) / 5; } else { blad50 = true; } if (Operacje.kwota >= 20 && Operacje.n20.Count > 0 && Operacje.n20.Count >= srednia) { ilosc20++; Operacje.kwota -= 20; Operacje.n20.RemoveAt(0); srednia = (Operacje.n200.Count + Operacje.n100.Count + Operacje.n50.Count + Operacje.n20.Count + Operacje.n10.Count) / 5; } else { blad20 = true; } if (Operacje.kwota >= 10 && Operacje.n10.Count > 0 && Operacje.n10.Count >= srednia) { ilosc10++; Operacje.kwota -= 10; Operacje.n10.RemoveAt(0); srednia = (Operacje.n200.Count + Operacje.n100.Count + Operacje.n50.Count + Operacje.n20.Count + Operacje.n10.Count) / 5; } else { blad10 = true; } if (blad200 && blad100 && blad50 && blad20 && blad10) { blad = true; //Jeśli kwota nie może być zrealizowana przez użycie żadnego nominału, trzeba zatrzymać pętle. } } if (blad) //Jeśli nie ma potrzebnych nominałów, to do pojemników trzeba oddać nominały, które z początku były zarezerwowane. { while (ilosc200 > 0) { Operacje.n200.Add(200); ilosc200 -= 1; } while (ilosc100 > 0) { Operacje.n100.Add(100); ilosc100 -= 1; } while (ilosc50 > 0) { Operacje.n50.Add(50); ilosc50 -= 1; } while (ilosc20 > 0) { Operacje.n20.Add(20); ilosc20 -= 1; } while (ilosc10 > 0) { Operacje.n10.Add(10); ilosc10 -= 1; } MessageBox.Show("Brak odpowiednich nominałów!", "Błąd!", MessageBoxButton.OK, MessageBoxImage.Error); txtKwota.Text = ""; } else { if (ilosc200 > 0) { tb200.Text = "Wypłacono " + ilosc200 + " razy 200 ZŁ"; } if (ilosc100 > 0) { tb100.Text = "Wypłacono " + ilosc100 + " razy 100 ZŁ"; } if (ilosc50 > 0) { tb50.Text = "Wypłacono " + ilosc50 + " razy 50 ZŁ"; } if (ilosc20 > 0) { tb20.Text = "Wypłacono " + ilosc20 + " razy 20 ZŁ"; } if (ilosc10 > 0) { tb10.Text = "Wypłacono " + ilosc10 + " razy 10 ZŁ"; } MessageBox.Show("Pamiętaj o wzięciu pieniędzy!", "Informacja", MessageBoxButton.OK, MessageBoxImage.Information); txtKwota.Text = ""; } SprawdzStanUzytkownika();