Exemplo n.º 1
0
        private void WypełnijPrzypadki_Button_Click(object sender, EventArgs e)
        {
            var s = new Mianownik(Mianownik_TextBox.Text);

            Dopełniacz_TextBox.Text  = new Dopełniacz(s).Text;
            Celownik_TextBox.Text    = new Celownik(s).Text;
            Biernik_TextBox.Text     = new Biernik(s).Text;
            Narzędnik_TextBox.Text   = new Narzędnik(s).Text;
            Miejscownik_TextBox.Text = new Miejscownik(s).Text;
            Wołacz_TextBox.Text      = new Wołacz(s).Text;

            Mianownik_M_TextBox.Text   = new Mianownik_M(s).Text;
            Dopełniacz_M_TextBox.Text  = new Dopełniacz_M(s).Text;
            Celownik_M_TextBox.Text    = new Celownik_M(s).Text;
            Biernik_M_TextBox.Text     = new Biernik_M(s).Text;
            Narzędnik_M_TextBox.Text   = new Narzędnik_M(s).Text;
            Miejscownik_M_TextBox.Text = new Miejscownik_M(s).Text;
            Wołacz_M_TextBox.Text      = new Wołacz_M(s).Text;

            if (PrzymiotnikCheckBox.Checked)
            {
                if (PrzymiotnikTextBox.Text.Length < 2)
                {
                    MessageBox.Show("Przymiotnik jest za krótki");
                }
                else
                {
                    var          p = new Przymiotnik(PrzymiotnikTextBox.Text);
                    Słowo.Rodzaj r = s.JakiRodzaj();
                    Dopełniacz_TextBox.Text  = Dopełniacz_TextBox.Text.Insert(0, p.Odmień(Słowo.Przypadek.Dopełniacz, r) + ' ');
                    Celownik_TextBox.Text    = Celownik_TextBox.Text.Insert(0, p.Odmień(Słowo.Przypadek.Celownik, r) + ' ');
                    Biernik_TextBox.Text     = Biernik_TextBox.Text.Insert(0, p.Odmień(Słowo.Przypadek.Biernik, r) + ' ');
                    Narzędnik_TextBox.Text   = Narzędnik_TextBox.Text.Insert(0, p.Odmień(Słowo.Przypadek.Narzędnik, r) + ' ');
                    Miejscownik_TextBox.Text = Miejscownik_TextBox.Text.Insert(0, p.Odmień(Słowo.Przypadek.Miejscownik, r) + ' ');
                    Wołacz_TextBox.Text      = Wołacz_TextBox.Text.Insert(0, p.Odmień(Słowo.Przypadek.Wołacz, r) + ' ');

                    r = Słowo.LiczbaMnoga(r);
                    Mianownik_M_TextBox.Text   = Mianownik_M_TextBox.Text.Insert(0, p.Odmień(Słowo.Przypadek.Mianownik, r) + ' ');
                    Dopełniacz_M_TextBox.Text  = Dopełniacz_M_TextBox.Text.Insert(0, p.Odmień(Słowo.Przypadek.Dopełniacz, r) + ' ');
                    Celownik_M_TextBox.Text    = Celownik_M_TextBox.Text.Insert(0, p.Odmień(Słowo.Przypadek.Celownik, r) + ' ');
                    Biernik_M_TextBox.Text     = Biernik_M_TextBox.Text.Insert(0, p.Odmień(Słowo.Przypadek.Biernik, r) + ' ');
                    Narzędnik_M_TextBox.Text   = Narzędnik_M_TextBox.Text.Insert(0, p.Odmień(Słowo.Przypadek.Narzędnik, r) + ' ');
                    Miejscownik_M_TextBox.Text = Miejscownik_M_TextBox.Text.Insert(0, p.Odmień(Słowo.Przypadek.Miejscownik, r) + ' ');
                    Wołacz_M_TextBox.Text      = Wołacz_M_TextBox.Text.Insert(0, p.Odmień(Słowo.Przypadek.Wołacz, r) + ' ');
                }
            }
        }
Exemplo n.º 2
0
        private void Liczba_Button_Click(object sender, EventArgs e)
        {
            Mianownik m = new Mianownik(Rzeczownik_L_Textbox.Text);

            if (WykluczPotęgi_CheckBox.Checked)
            {
                int pow = Liczba.MaxPower;
                if (Int32.TryParse(WykluczonePotęgi_TextBox.Text, out pow))
                {
                    Liczba_Label.Text = "Słownie: " + new Liczba(Liczba_TextBox.Text, m.JakiRodzaj(), pow).Text + ' ' + m.GetNumberForm(Liczba_TextBox.Text);
                }
                else
                {
                    MessageBox.Show("Potęga musi być liczbą o wartości od 3 do 603 " + Liczba.MaxPower.ToString());
                }
            }
            else
            {
                Liczba_Label.Text = "Słownie: " + new Liczba(Liczba_TextBox.Text, m.JakiRodzaj()).Text + ' ' + m.GetNumberForm(Liczba_TextBox.Text);
            }
        }
Exemplo n.º 3
0
        public Liczba(double liczba, Rodzaj rodzaj, int ExcludePowersOver = -1)
        {
            if (ExcludePowersOver == -1)
            {
                ExcludePowersOver = MaxPower;
            }
            bool ApplyOneForm = (liczba == 1);

            Text = "";
            foreach (KeyValuePair <int, string> v in e)
            {
                if (v.Key > ExcludePowersOver)
                {
                    continue;
                }
                double power = Math.Pow(10, v.Key);
                if (double.IsInfinity(power))
                {
                    continue;
                }
                double t = Math.Floor(liczba / power);
                if (t == 1)
                {
                    Text += v.Value + ' ';
                }
                else if (t > 0)
                {
                    Mianownik m = new Mianownik(v.Value);
                    Text += new Liczba(t, m.JakiRodzaj(), ExcludePowersOver).Text + ' ' + m.GetNumberForm(t) + ' ';
                }
                liczba -= t * power;
            }
            if (liczba >= 100)
            {
                double t = Math.Floor(liczba / 100);
                Text   += setki[(int)t - 1] + ' ';
                liczba -= t * 100;
            }
            if (liczba >= 11 && liczba <= 19)
            {
                Text += nastki[(int)liczba - 11] + ' ';
            }
            else
            {
                if (liczba >= 10)
                {
                    double t = Math.Floor(liczba / 10);
                    Text   += dziesiątki[(int)t - 1] + ' ';
                    liczba -= t * 10;
                }
                if (liczba > 0)
                {
                    if (ApplyOneForm)
                    {
                        if (rodzaj == Rodzaj.Żeński)
                        {
                            Text += "jedna ";
                        }
                        else if (rodzaj == Rodzaj.Nijaki)
                        {
                            Text += "jedno ";
                        }
                        else
                        {
                            Text += cyfry[(int)liczba] + ' ';
                        }
                    }
                    else if (liczba == 2 && rodzaj == Rodzaj.Żeński)
                    {
                        Text += "dwie ";
                    }
                    else
                    {
                        Text += cyfry[(int)liczba] + ' ';
                    }
                }
            }
            if (Text.Length == 0)
            {
                Text = cyfry[0];
            }
            else
            {
                Text = Text.Remove(Text.Length - 1);
            }
        }
Exemplo n.º 4
0
        public Liczba(string liczba, Rodzaj rodzaj, int ExcludePowersOver = -1)
        {
            if (ExcludePowersOver == -1)
            {
                ExcludePowersOver = MaxPower;
            }
            bool ApplyOneForm = (liczba == "1");
            int  digits       = liczba.Length;

            Text = "";
            foreach (KeyValuePair <int, string> v in e)
            {
                if (v.Key > ExcludePowersOver)
                {
                    continue;
                }
                if (digits > v.Key)
                {
                    string t = liczba.Substring(0, digits - v.Key);
                    int    n = 0;
                    int.TryParse(t.Last().ToString(), out n);
                    if (t.Length > 1 && t.First() != '0' || n > 2)
                    {
                        Mianownik m = new Mianownik(v.Value);
                        Text += new Liczba(t, m.JakiRodzaj(), ExcludePowersOver).Text + ' ' + m.GetNumberForm(t) + ' ';
                    }
                    else if (n == 1)
                    {
                        Text += v.Value + ' ';
                    }
                    liczba = liczba.Substring(digits - v.Key);
                    digits = liczba.Length;
                }
            }
            int number;

            if (int.TryParse(liczba, out number))
            {
                if (number >= 100)
                {
                    int t = number / 100;
                    Text   += setki[t - 1] + ' ';
                    number -= t * 100;
                }
                if (number >= 11 && number <= 19)
                {
                    Text += nastki[number - 11] + ' ';
                }
                else
                {
                    if (number >= 10)
                    {
                        int t = number / 10;
                        Text   += dziesiątki[t - 1] + ' ';
                        number -= t * 10;
                    }
                    if (number > 0)
                    {
                        if (ApplyOneForm)
                        {
                            if (rodzaj == Rodzaj.Żeński)
                            {
                                Text += "jedna ";
                            }
                            else if (rodzaj == Rodzaj.Nijaki)
                            {
                                Text += "jedno ";
                            }
                            else
                            {
                                Text += cyfry[number] + ' ';
                            }
                        }
                        else if (number == 2 && rodzaj == Rodzaj.Żeński)
                        {
                            Text += "dwie ";
                        }
                        else
                        {
                            Text += cyfry[number] + ' ';
                        }
                    }
                }
                if (Text.Length == 0)
                {
                    Text = cyfry[0];
                }
                else
                {
                    Text = Text.Remove(Text.Length - 1);
                }
            }
            else
            {
                Text = "(nieprawidłowa liczba)";
            }
        }