Написать программу, которая для любого трехзначного натурального числа печатает его **...

0 голосов
66 просмотров

Написать программу, которая для любого трехзначного натурального числа печатает его на естественном языке. Например, 107 → сто семь, 234 → двести тридцать четыре, 517 → пятьсот семнадцать. Только на C# WindowsFormsApp


Информатика (31 баллов) | 66 просмотров
Дан 1 ответ
0 голосов

C WF не работал, вот что получилось:


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace WindowsFormsApp3 {

       public partial class Form1 : Form {

            public Form1() {

                 InitializeComponent();

                 textBox1.TextChanged += textBox1_TextChanged;

            }

            private void textBox1_TextChanged(object sender, EventArgs ee) {

                 string res;

                 string[] ed = new string[10] { " ","один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять" };

                 string[] des = new string[10] { " ",      "десять","двадцать","тридцать","сорок","пятьдесят","шестьдесят","семьдесят", "восемьдесят","девяносто" };

                 string[] sot = new string[10] { " ", "сто", "двести", "триста", "четыреста", "пятьсот", "шестьсот", "семьсот", "восемьсот", "девятьсот" };

                 string[] iskl = new string[10] { " ",      "одинадцать","двенадцать","тринадцать","четырнадцать","пятнадцать","шестнfдцать","семнадцать","восемьнадцать","девятнадцать" };

                 int x;

               if ((int.TryParse(textBox1.Text, out x)) && (x >= 0) && (x <= 1000))</p>

                 {

                      if (x == 1000) res = "тысяча";

                      else if (x == 0) res = "ноль";

                      else {

                         int s = x / 100; x= x % 100; res = sot[s];

                         int d = x / 10; int e = x % 10;

                         if ((d == 1) && (e != 0)) res = res + " " + iskl[e];

                         else res = res + " " + des[d] + " " + ed[e];

                      }

                      label1.Text = res;

                 }

                 else label1.Text="";

           }

       }

}


Код и пример формы в приложении.


image
Скачать вложение Текст (TXT)
(5.8k баллов)
0

Форматирование, конечно, ужасное