Форум программистов, компьютерный форум CyberForum.ru

Преобразовать число в текст на русском языке (С# -> С++) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать иерархию типов, описывающую операционную систему и прикладное программное обеспечение http://www.cyberforum.ru/cpp-beginners/thread1305047.html
Создать иерархию типов, описывающая операционную систему и прикладное программное обеспечение, и Windows NT как операционную систему и прикладное программное обеспечение. Классы должны иметь конструкторы, включая конструктор копирования, виртуальные деструкторы, перегруженные функции Вывод в поток и ввод из потока.
C++ Создайте класс точка, имеющая координаты. Класс эллипсов, и класс кругов. Определить иерархию типов Создайте класс точка, имеющая координаты. Класс эллипсов, и класс кругов. Определить иерархию типов. определить функции печати, конструкторы, деструкторы, вычисления площади. http://www.cyberforum.ru/cpp-beginners/thread1305040.html
Комплексное число C++
Комплексное число задается своим модулем и углом (например, число 10 * (Cos (π / 6) + Sin (π / 6)) задается парой (10 π / 6). реализовать: ⎯ Добавление (вычитание) чисел ⎯ Произведение двух чисел деление чисел ⎯ Возведение в степень (^) ⎯ Добыча квадратного корня (sgrt ())
C++ Написать перегруженную функцию
Используя перегрузки, написать функцию для выполнения действий, для следующих типов данных float, int, double, long: приведение типов.
C++ Неисправный код http://www.cyberforum.ru/cpp-beginners/thread1305031.html
Дан код: #include<iostream> #define CHAR_LENGTH 200 #define NOTHING_FOUND -1 class Student { private: char* name; char* lastName;
C++ одномерный массив Помогите решить задачу: подробнее

Показать сообщение отдельно
_dedsec_
1 / 1 / 0
Регистрация: 19.11.2014
Сообщений: 11

Преобразовать число в текст на русском языке (С# -> С++) - C++

19.11.2014, 15:57. Просмотров 164. Ответов 0
Метки (Все метки)

Смысл задачи нужно преобразовать число в текст на русском языке (пример: "7524" -> "семь тысяч пятьсот двадцать четыре")
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
int number = int.Parse(Console.ReadLine());
            int[] array_int = new int[4];
            string[,] array_string = new string[4, 3] {{" миллиард", " миллиарда", " миллиардов"},
                {" миллион", " миллиона", " миллионов"},
                {" тысяча", " тысячи", " тысяч"},
                {"", "", ""}};
            array_int[0] = (number - (number % 1000000000)) / 1000000000;
            array_int[1] = ((number % 1000000000) - (number % 1000000)) / 1000000;
            array_int[2] = ((number % 1000000) - (number % 1000)) / 1000;
            array_int[3] = number % 1000;
            string result = "";
            for (int i = 0; i < 4; i++)
            {
                if (array_int[i] != 0)
                {
                    if (((array_int[i] - (array_int[i] % 100)) / 100) != 0)
                        switch (((array_int[i] - (array_int[i] % 100)) / 100))
                        {
                            case 1: result += " сто"; break;
                            case 2: result += " двести"; break;
                            case 3: result += " триста"; break;
                            case 4: result += " четыреста"; break;
                            case 5: result += " пятьсот"; break;
                            case 6: result += " шестьсот"; break;
                            case 7: result += " семьсот"; break;
                            case 8: result += " восемьсот"; break;
                            case 9: result += " девятьсот"; break;
                        }
                    if (((array_int[i] % 100) - ((array_int[i] % 100) % 10)) / 10 != 1)
                    {
                        switch (((array_int[i] % 100) - ((array_int[i] % 100) % 10)) / 10)
                        {
                            case 2: result += " двадцать"; break;
                            case 3: result += " тридцать"; break;
                            case 4: result += " сорок"; break;
                            case 5: result += " пятьдесят"; break;
                            case 6: result += " шестьдесят"; break;
                            case 7: result += " семьдесят"; break;
                            case 8: result += " восемьдесят"; break;
                            case 9: result += " девяносто"; break;
                        }
                    }
                    switch (array_int[i] % 10)
                    {
                        case 1: if (i == 2) result += " одна"; else result += " один"; break;
                        case 2: if (i == 2) result += " две"; else result += " два"; break;
                        case 3: result += " три"; break;
                        case 4: result += " четыре"; break;
                        case 5: result += " пять"; break;
                        case 6: result += " шесть"; break;
                        case 7: result += " семь"; break;
                        case 8: result += " восемь"; break;
                        case 9: result += " девять"; break;
                    }
                }
                else switch (array_int[i] % 100)
                    {
                        case 10: result += " десять"; break;
                        case 11: result += " одиннадцать"; break;
                        case 12: result += " двенадцать"; break;
                        case 13: result += " тринадцать"; break;
                        case 14: result += " четырнадцать"; break;
                        case 15: result += " пятнадцать"; break;
                        case 16: result += " шестнадцать"; break;
                        case 17: result += " семнадцать"; break;
                        case 18: result += " восемннадцать"; break;
                        case 19: result += " девятнадцать"; break;
                    }
                if (array_int[i] % 100 >= 10 && array_int[i] % 100 <= 19) result += " " + array_string[i, 2] + " ";
                else switch (array_int[i] % 10)
                    {
                        case 1: result += " " + array_string[i, 0] + " "; break;
                        case 2:
                        case 3:
                        case 4: result += " " + array_string[i, 1] + " "; break;
                        case 5:
                        case 6:
                        case 7:
                        case 8:
                        case 9: result += " " + array_string[i, 2] + " "; break;
                    }
            }
            Console.WriteLine(result);
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru