Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/26: Рейтинг темы: голосов - 26, средняя оценка - 4.54
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
1

Написать программу которая будет выводить введенные числа словами

25.12.2010, 02:14. Показов 4800. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте,мне нужна помощь мне нужно написать программу которая будет выводить введенные числа словами
например 123
сто двадцать 3
200
двесте
1024
тысячу двадцать четыре
помогите пожалуста зачет надо получить по лабе иначе на сессию не выйду
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2010, 02:14
Ответы с готовыми решениями:

Написать программу, которая будет выводить ответы на запросы С#
МАРКА: ЦВЕТ: СТРАНА: Audi white China BMW silver ...

Написать программу, которая будет выводить прогноз погоды
Всем привет . У меня во время изучения с # возникла идея написать программу, которая будет выводить...

Написать программу, которая определяет соответствие графов и будет выводить это графически
Написать программу которая определяет насколько гарфу А соответствует граф B и будет выводить это...

Написать программу, которая будет выводить цитаты
Добрый день, очень плохо идет понимание языка Си, вообще не могу разобраться... Помогите написать...

6
68 / 68 / 3
Регистрация: 18.12.2010
Сообщений: 127
25.12.2010, 08:14 2
Тебе нужно отделить сотни десятки единицы. Дальше создать перечисления...
1
Delog
25.12.2010, 09:44
  #3
 Комментарий модератора 
Не отсылайте других пользователей в поиск и избегайте ссылок на поисковые системы (Google, Yandex и др.). Самостоятельно найдите ответ на вопрос и разместите его на форуме
0
Эксперт .NET
4432 / 2092 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
25.12.2010, 12:28 4
Вот думаю вполне не плохой класс.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
using System;
 
/// <summary>
/// Класс отображения суммы прописью.
/// 3 варианта - рубли, доллары и просто для использования
/// других любых единиц (вагоны, мешки и т.п.)
/// --------------------------------------
/// Автор - Глеб Уфимцев (dnkvpb@nm.ru)
/// </summary>
 
public class NumByWords
{
    public static string RurPhrase(decimal money)
    {
        return CurPhrase(money, "рубль", "рубля", "рублей", "копейка", "копейки", "копеек");
    }
 
    public static string UsdPhrase(decimal money)
    {
        return CurPhrase(money, "доллар США", "доллара США", "долларов США", "цент", "цента", "центов");
    }
 
    public static string NumPhrase(ulong Value, bool IsMale)
    {
        if (Value == 0UL) return "Ноль";
        string[] Dek1 = { "", " од", " дв", " три", " четыре", " пять", " шесть", " семь", " восемь", " девять", " десять", " одиннадцать", " двенадцать", " тринадцать", " четырнадцать", " пятнадцать", " шестнадцать", " семнадцать", " восемнадцать", " девятнадцать" };
        string[] Dek2 = { "", "", " двадцать", " тридцать", " сорок", " пятьдесят", " шестьдесят", " семьдесят", " восемьдесят", " девяносто" };
        string[] Dek3 = { "", " сто", " двести", " триста", " четыреста", " пятьсот", " шестьсот", " семьсот", " восемьсот", " девятьсот" };
        string[] Th = { "", "", " тысяч", " миллион", " миллиард", " триллион", " квадрилион", " квинтилион" };
        string str = "";
        for (byte th = 1; Value > 0; th++)
        {
            ushort gr = (ushort)(Value % 1000);
            Value = (Value - gr) / 1000;
            if (gr > 0)
            {
                byte d3 = (byte)((gr - gr % 100) / 100);
                byte d1 = (byte)(gr % 10);
                byte d2 = (byte)((gr - d3 * 100 - d1) / 10);
                if (d2 == 1) d1 += (byte)10;
                bool ismale = (th > 2) || ((th == 1) && IsMale);
                str = Dek3[d3] + Dek2[d2] + Dek1[d1] + EndDek1(d1, ismale) + Th[th] + EndTh(th, d1) + str;
            };
        };
        str = str.Substring(1, 1).ToUpper() + str.Substring(2);
        return str;
    }
 
    #region Private members
    private static string CurPhrase(decimal money,
        string word1, string word234, string wordmore,
        string sword1, string sword234, string swordmore)
    {
        money = decimal.Round(money, 2);
        decimal decintpart = decimal.Truncate(money);
        ulong intpart = decimal.ToUInt64(decintpart);
        string str = NumPhrase(intpart, true) + " ";
        byte endpart = (byte)(intpart % 100UL);
        if (endpart > 19) endpart = (byte)(endpart % 10);
        switch (endpart)
        {
            case 1: str += word1; break;
            case 2:
            case 3:
            case 4: str += word234; break;
            default: str += wordmore; break;
        }
        byte fracpart = decimal.ToByte((money - decintpart) * 100M);
        str += " " + ((fracpart < 10) ? "0" : "") + fracpart.ToString() + " ";
        if (fracpart > 19) fracpart = (byte)(fracpart % 10);
        switch (fracpart)
        {
            case 1: str += sword1; break;
            case 2:
            case 3:
            case 4: str += sword234; break;
            default: str += swordmore; break;
        };
        return str;
    }
    private static string EndTh(byte ThNum, byte Dek)
    {
        bool In234 = ((Dek >= 2) && (Dek <= 4));
        bool More4 = ((Dek > 4) || (Dek == 0));
        if (((ThNum > 2) && In234) || ((ThNum == 2) && (Dek == 1))) return "а";
        else if ((ThNum > 2) && More4) return "ов";
        else if ((ThNum == 2) && In234) return "и";
        else return "";
    }
    private static string EndDek1(byte Dek, bool IsMale)
    {
        if ((Dek > 2) || (Dek == 0)) return "";
        else if (Dek == 1)
        {
            if (IsMale) return "ин";
            else return "на";
        }
        else
        {
            if (IsMale) return "а";
            else return "е";
        }
    }
    #endregion
}
Вот проект:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsForms_DigitsToStringOutput
{
    public partial class FormMain : Form
    {
        public FormMain()
        {
            InitializeComponent();
        }
 
        #region Обработчики событий textBoxInput
 
        //текст в поле изменился
        private void textBoxInput_TextChanged(object sender, EventArgs e)
        {
            if (textBoxInput.Text.Length < 1) //если длинна текста меньше 1, то...
            {
                //включаем кнопки
                this.btnConvert.Enabled = false;
                this.btnCopyToСlipboard.Enabled = false;
            }
            else //иначе
            {
                //выключаем кнопки
                this.btnConvert.Enabled = true;
                this.btnCopyToСlipboard.Enabled = true;
            }
        }
 
        private void textBoxInput_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && (e.KeyChar != '\b')) //если нажатая клавиша не цифра или не "удалить", то...
                e.Handled = true; //отменить обработку события (не будет выведено значение нажатой клавиши)
        } 
 
        #endregion
 
        #region Обработчики событий нажатий по кнопкам
 
        private void btnConvert_Click(object sender, EventArgs e)
        {
            ulong digit = ulong.Parse(this.textBoxInput.Text);
            this.textBoxOutput.Text = NumByWords.NumPhrase(digit, true);
        }
 
        private void btnCopyToСlipboard_Click(object sender, EventArgs e)
        {
            Clipboard.SetText(this.textBoxOutput.Text);
        } 
 
        #endregion
    }
}
Вложения
Тип файла: rar WindowsForms_DigitsToStringOutput.rar (49.3 Кб, 43 просмотров)
2
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
25.12.2010, 18:04  [ТС] 5
мне надо в консоле
0
Эксперт .NET
4432 / 2092 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
26.12.2010, 12:43 6
Ну так переделай в консоль. Тебе надо сделать всего то несколько движений, чтобы это осуществить.
(Писал по памяти)
Читаем:
C#
1
   String input = Console.ReadLine();
Пишем в консоль
C#
1
2
String output = NumByWords.NumPhrase(digit, true);
Console.WriteLine();
Всё. Ну сделаешь, чтобы после вывода результата на экран, сразу просило опять ввести число. Проверку на вводимые значения, try {} catch(IOException) {} и т.д.
0
17 / 17 / 5
Регистрация: 27.11.2011
Сообщений: 141
21.12.2011, 19:01 7
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication19
{
    class Program
    {
        static void Main(string[] args)
        {
 
            NumByWords v = new NumByWords();
            v.NumPhrase();
            
        } 
 
 
 
         static ulong vvod()
            {
            ulong x = ulong.MinValue;
             
             do{
                 Console.WriteLine(",kfkfkfk >> ");
             }while(!ulong.TryParse(Console.ReadLine(),out x));
             return x;  
         }
    }
}
А что в main писать??? туплю очень...
0
21.12.2011, 19:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2011, 19:01
Помогаю со студенческими работами здесь

Написать программу, которая будет выводить елочку из символов
Нужно написать программу которая будет выводить елочку из символов ^ ^ ^^^ ^^^^^ по...

Написать программу, которая будет выводить на экран 40 строк
6) Написать программу, которая будет выводить на экран 40 строк таблицы умножения трехзначных...

Написать программу, которая будет выводить результат поиска с сайта
Нужно написать программу, которая будет отправлять поисковой запрос на сайт nigma.ru, и выводить...

Написать программу которая будет выводить Грузоподъемность Змея-Горыныча
Грузоподъемность Змея-Горыныча определяется количеством его голов (вводится с клавиатуры): одна...

Написать программу, которая будет зеркально выводить введенную строку
Доброго времени суток! Стоит задача: написать программу, которая будет зеркально выводить...

Написать программу, которая будет генерировать одномерный массив и выводить сумму элементов
Необходимо написать программу которая будет генерировать одномерный массив и выводит сумму...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru