В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Ришат12333323
Ришат12333323
30.04.2022 03:19 •  Информатика

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

Показать ответ
Ответ:
Profesor245
Profesor245
08.10.2020 21:33

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))

                 {

                      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="";

           }

       }

}


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


Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота