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

Вывод словесного представления трёхзначного числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Напишите программу, подсчитывающую число прожитых Вами дней http://www.cyberforum.ru/cpp-beginners/thread1618205.html
Напишите программу, подсчитывающую число прожитых Вами дней. Программа должна предложить Вам ввести дату вашего рождения, текущую дату и выдать сообщение, что Вы живете такой-то день. Проверять корректность ввода.
C++ тема курсовой на c++ Всем добра. сижу я днями и ломаю голову, какую тему взять для курсового проекта на с++. Сам курсовой будет где-то в мае, но тем не менее у меня уже сейчас есть время для реализации проекта. Конечно, я прекрасно понимаю, что программист без фантазии - плохой программист. В целом не суть. Мой преподаватель не сторонник того, чтобы была форма, а на ней кнопки и в каждой из них строчка кода.... http://www.cyberforum.ru/cpp-beginners/thread1618200.html
Вычисление даты следующего дня C++
Написать программу, которая вычисляет дату следующего дня. Информацию о текущем дне вводить с клавиатуры. Проверять корректность ввода.
Задача на двумерный массив C++
Дано натуральное число n. С помощью двумерного действительного числового массива i=1,2; j=1,...,n на плоскости задано n точек так, что x1j, x2j – координаты j-й точки. Какие из этих точек две точки являются наиболее близкими? Ниже есть программа, в ней проблема, надо чтобы n вводилось с клавиатуры. Если вместо const int n=4 ввести: int n; cout<<"Enter n"; cin>>n; То выведет ошибку, хз как...
C++ Вычисление значения логического выражения http://www.cyberforum.ru/cpp-beginners/thread1618189.html
Написать программу для вычисления значения логического выражения для заданных переменных a=false, b=true, c=false, d=true; а) a||b&&!a&&d б) a&&b||!c||d Добавлено через 2 часа 27 минут ПРАВИЛЬНО ЛИ? #include <iostream> using namespace std; void main()
C++ Вывод цифр числа, меньшего 100 тысяч Написать программу, которая принимает от пользователя целое число в диапазоне от 0 до 100000 и выводит это число по цифрам через пробел. Решение задачи реализовать с помощью конструкции switch Добавлено через 2 часа 29 минут моя версия #include <iostream> using namespace std; void main() { setlocale(LC_ALL, "RUS"); int x,a,k; подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3049 / 1694 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
22.12.2015, 11:26
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
/*
Написать программу, которая принимает целое 3-хзначное число с клавиатуры и выводит 
словесное представление этого числа. Например: пользователь ввел 431, программа 
выводит четыреста тридцать один.
*/
///////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <string>
///////////////////////////////////////////////////////////////////////////////
typedef std::string     T_str;
///////////////////////////////////////////////////////////////////////////////
T_str   hundreds_of_words( int  hundreds )
{
    switch( hundreds )
    {
    case    1   :   return  "сто";
    case    2   :   return  "двести";
    case    3   :   return  "триста";
    case    4   :   return  "четыреста";
    case    5   :   return  "пятьсот";
    case    6   :   return  "шестьсот";
    case    7   :   return  "семьсот";
    case    8   :   return  "восемьсот";
    case    9   :   return  "девятьсот";
    default     :   return  "";
    }
}
///////////////////////////////////////////////////////////////////////////////
T_str   with_front_space( T_str     const   &   str )
{
    T_str   const   SPACE_STR   =   " ";
 
    return  str.empty()
                ?   str
                :   SPACE_STR   +   str;
}
///////////////////////////////////////////////////////////////////////////////
T_str   teens_of_words( int  teens )
{
    T_str   res_str;
 
    switch( teens )
    {
    case    10  :   res_str     =   "десять";           break;
    case    11  :   res_str     =   "одиннадцать";      break;
    case    12  :   res_str     =   "двенадцать";       break;
    case    13  :   res_str     =   "тринадцать";       break;
 
    case    14  :   res_str     =   "четырнадцать";     break;
    case    15  :   res_str     =   "пятнадцать";       break;
    case    16  :   res_str     =   "шестнадцать";      break;
 
    case    17  :   res_str     =   "семнадцать";       break;
    case    18  :   res_str     =   "восемнадцать";     break;
    case    19  :   res_str     =   "девятнадцать";     break;
    default     :   ;
    }
 
    return  with_front_space( res_str );
}
///////////////////////////////////////////////////////////////////////////////
T_str   tens_of_words( int  tens )
{
    T_str   res_str;
 
    switch( tens )
    {
    case    2   :   res_str     =   "двадцать";     break;
    case    3   :   res_str     =   "тридцать";     break;
    case    4   :   res_str     =   "сорок";        break;
    case    5   :   res_str     =   "пятьдесят";    break;
    case    6   :   res_str     =   "шестьдесят";   break;
    case    7   :   res_str     =   "семьдесят";    break;
    case    8   :   res_str     =   "восемьдесят";  break;
    case    9   :   res_str     =   "девяносто";    break;
    default     :   ;
    }
 
    return  with_front_space( res_str );
}
///////////////////////////////////////////////////////////////////////////////
T_str   units_of_words
    ( 
        int     units,
        int     num
    )
{
    T_str   res_str;
 
    switch( units )
    {
    case    0   :   res_str     =   num ?   ""
                                        :   "ноль";     
                                                break;
 
    case    1   :   res_str     =   "один";     break;
    case    2   :   res_str     =   "два";      break;
    case    3   :   res_str     =   "три";      break;
    case    4   :   res_str     =   "четые";    break;
    case    5   :   res_str     =   "пять";     break;
    case    6   :   res_str     =   "шесть";    break;
    case    7   :   res_str     =   "семь";     break;
    case    8   :   res_str     =   "восемь";   break;
    case    9   :   res_str     =   "девять";   break;
    default     :   ;
    }
 
    return  with_front_space( res_str );
}
///////////////////////////////////////////////////////////////////////////////
T_str   number_of_words( int    num )
{
    auto    hundreds_str        =   hundreds_of_words   ( num / 100     );  
    auto    teens_str           =   teens_of_words      ( num % 100     );
    auto    tens                =   num % 100 / 10;
    auto    tens_str            =   tens_of_words       ( tens          );
 
    auto    units_str           =   units_of_words  
                                        ( 
                                            num % 10,
                                            num
                                        );
 
    return      hundreds_str
 
            +   (
                    tens    ==  1
                        ?   teens_str
                        :   tens_str    +   units_str
                );
}
///////////////////////////////////////////////////////////////////////////////
int     main()
{
    std::locale::global(std::locale(""));
 
    for(;;)
    {
        int     num     =   0;
        std::cout   <<  "\nn = ";
        std::cin    >>  num;
 
        std::cout   <<  number_of_words( num )
                    <<  std::endl;
    }//for
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru