public MainWindow() { InitializeComponent(); this.Voltage_Box.SelectedText = "%"; this.Ilosc_ComboBox.SelectedIndex = 0; this.Trunek_ComboBox.SelectedIndex = 0; this.Gender_ComboBox.SelectedIndex = 0; this.wynik = new Wynik(); this.osoba = new Osoba(); this.osoba_odzywianie = new Osoba_odzywianie(); this.Alkolista = new ObservableCollection <Alkohol>(); this.DataContext = this; this.WynikBox.DataContext = wynik; this.GodzinaBox.DataContext = wynik; this.BMI_TextBox.DataContext = osoba_odzywianie; this.Tluszcze_Box.DataContext = osoba_odzywianie; this.Weglowodany_Box.DataContext = osoba_odzywianie; this.Bialko_Box.DataContext = osoba_odzywianie; this.Zapotrzebowanie_TextBox.DataContext = osoba_odzywianie; List <int> Num = new List <int>(); for (int i = 1; i <= 10; i++) { Num.Add(i); } this.Trunek_ComboBox.ItemsSource = Enum.GetValues(typeof(Trunek)); this.Ilosc_ComboBox.ItemsSource = Num; this.Gender_ComboBox.ItemsSource = Enum.GetValues(typeof(Gender)); }
//Kalkulator private void Wynik(object sender, RoutedEventArgs e) { string tablica = Table.Text; string TablicaDlaProgramu = Table.Text; int LengthTablica = tablica.Length; StringBuilder Zadanie = new StringBuilder(tablica); try { ErrorWiadomosc.Visibility = Visibility.Hidden; for (int i = 0; i < Zadanie.Length; i++) { if (Zadanie[i] == ',') { Zadanie[i] = '.'; } } for (int SpradzanieFunkcji = 0; SpradzanieFunkcji < tablica.Length; SpradzanieFunkcji++) { //Funkcje Dodatkowe if (TablicaDlaProgramu.Contains("Delta(")) { int Start = TablicaDlaProgramu.IndexOf("Delta("); int StartNawiasu = TablicaDlaProgramu.IndexOf("Delta(") + "Delta(".Length; int Koniec = TablicaDlaProgramu.IndexOf(")"); int length = Koniec - StartNawiasu; string zmienne = ""; StringBuilder zmienneX = new StringBuilder(TablicaDlaProgramu); for (int x = 0; x < length; x++) { zmienne = zmienne + TablicaDlaProgramu[x + StartNawiasu]; } string ZmiennaA = ""; string ZmiennaB = ""; string ZmiennaC = ""; int NumerZmiennej = 1; for (int z = 0; z < zmienne.Length; z++) { if (zmienne[z] == '.' || zmienne[z] == ',') { NumerZmiennej++; } else { if (NumerZmiennej == 1) { ZmiennaA = ZmiennaA + zmienne[z]; } if (NumerZmiennej == 2) { ZmiennaB = ZmiennaB + zmienne[z]; } if (NumerZmiennej == 3) { ZmiennaC = ZmiennaC + zmienne[z]; } } } string wynik = "(" + ZmiennaB + "*" + ZmiennaB + ")-4*" + ZmiennaA + "*" + ZmiennaC; string WynikDelta = new DataTable().Compute(wynik, null).ToString(); string reszta = TablicaDlaProgramu.Substring(Koniec + 1, TablicaDlaProgramu.Length - Koniec - 1); TablicaDlaProgramu = TablicaDlaProgramu.Substring(0, Start) + WynikDelta + TablicaDlaProgramu.Substring(Koniec + 1, TablicaDlaProgramu.Length - Koniec - 1); } if (TablicaDlaProgramu.Contains("Potegowanie(")) { int Start = TablicaDlaProgramu.IndexOf("Potegowanie("); int StartNawiasu = TablicaDlaProgramu.IndexOf("Potegowanie(") + "Potegowanie(".Length; int Koniec = TablicaDlaProgramu.IndexOf(")"); int length = Koniec - StartNawiasu; int KolejnoscPobieraniaDanych = 1; string LiczbaPotengowana = " "; string StopienPotegi = " "; string zmienne = ""; for (int x = 0; x < length; x++) { zmienne = zmienne + TablicaDlaProgramu[x + StartNawiasu]; } for (int z = 0; z < zmienne.Length; z++) { if (zmienne[z] == '.' || zmienne[z] == ',') { KolejnoscPobieraniaDanych++; } else { if (KolejnoscPobieraniaDanych == 1) { LiczbaPotengowana = LiczbaPotengowana + zmienne[z]; } if (KolejnoscPobieraniaDanych == 2) { StopienPotegi = StopienPotegi + zmienne[z]; } } } float Liczba = float.Parse(LiczbaPotengowana); float potega = float.Parse(StopienPotegi); float Wynik = 1; for (int potegowanie = 0; potegowanie < potega; potegowanie++) { Wynik = Wynik * Liczba; } string reszta = TablicaDlaProgramu.Substring(Koniec + 1, TablicaDlaProgramu.Length - Koniec - 1); TablicaDlaProgramu = TablicaDlaProgramu.Substring(0, Start) + Wynik.ToString() + TablicaDlaProgramu.Substring(Koniec + 1, TablicaDlaProgramu.Length - Koniec - 1); } if (TablicaDlaProgramu.Contains("PoleProstokąta(")) { int Start = TablicaDlaProgramu.IndexOf("PoleProstokąta("); int StartNawiasu = TablicaDlaProgramu.IndexOf("PoleProstokąta(") + "PoleProstokąta(".Length; int Koniec = TablicaDlaProgramu.IndexOf(")"); int length = Koniec - StartNawiasu; int KolejnoscPobieraniaDanych = 1; string A = " "; string B = " "; string zmienne = ""; for (int x = 0; x < length; x++) { zmienne = zmienne + TablicaDlaProgramu[x + StartNawiasu]; } for (int z = 0; z < zmienne.Length; z++) { if (zmienne[z] == '.' || zmienne[z] == ',') { KolejnoscPobieraniaDanych++; } else { if (KolejnoscPobieraniaDanych == 1) { A = A + zmienne[z]; } if (KolejnoscPobieraniaDanych == 2) { B = B + zmienne[z]; } } } float LiczbaA = float.Parse(A); float LiczbaB = float.Parse(B); float Wynik; Wynik = LiczbaA * LiczbaB; string reszta = TablicaDlaProgramu.Substring(Koniec + 1, TablicaDlaProgramu.Length - Koniec - 1); TablicaDlaProgramu = TablicaDlaProgramu.Substring(0, Start) + Wynik.ToString() + TablicaDlaProgramu.Substring(Koniec + 1, TablicaDlaProgramu.Length - Koniec - 1); } if (TablicaDlaProgramu.Contains("PoleTrojkonta(")) { int Start = TablicaDlaProgramu.IndexOf("PoleTrojkonta("); int StartNawiasu = TablicaDlaProgramu.IndexOf("PoleTrojkonta(") + "PoleTrojkonta(".Length; int Koniec = TablicaDlaProgramu.IndexOf(")"); int length = Koniec - StartNawiasu; int KolejnoscPobieraniaDanych = 1; string A = " "; string h = " "; string zmienne = ""; for (int x = 0; x < length; x++) { zmienne = zmienne + TablicaDlaProgramu[x + StartNawiasu]; } for (int z = 0; z < zmienne.Length; z++) { if (zmienne[z] == '.' || zmienne[z] == ',') { KolejnoscPobieraniaDanych++; } else { if (KolejnoscPobieraniaDanych == 1) { A = A + zmienne[z]; } if (KolejnoscPobieraniaDanych == 2) { h = h + zmienne[z]; } } } float LiczbaA = float.Parse(A); float LiczbaB = float.Parse(h); float Wynik; Wynik = (LiczbaA * LiczbaB) / 2; string reszta = TablicaDlaProgramu.Substring(Koniec + 1, TablicaDlaProgramu.Length - Koniec - 1); TablicaDlaProgramu = TablicaDlaProgramu.Substring(0, Start) + Wynik.ToString() + TablicaDlaProgramu.Substring(Koniec + 1, TablicaDlaProgramu.Length - Koniec - 1); } } string WynikX = new DataTable().Compute(TablicaDlaProgramu, null).ToString(); WynikText.Content = WynikX; } catch { ErrorWiadomosc.Visibility = Visibility.Visible; ErrorWiadomosc.Content = "UWAGA: Coś poszło nie tak. Prawdopodobnie podałeś złe dane"; } }