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

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

Показать ответ
Ответ:
Dhshssh
Dhshssh
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-бота