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

Вывести возраст прописью - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как настроить изначальный код, который открывается при создании нового проекта http://www.cyberforum.ru/cpp-beginners/thread393911.html
Объясните пожалуйста, как в Visual C++ 2008 Express настроить изначальный шаблон кода при создании нового проекта. Например, чтоб каждый раз заново не напечатать все то, что я так и так включаю в...
C++ Как использовать указатели при работе с массивами? подскажите пожалуйста как правильно использовать указатели при работе с массивами. Как написать этк программу используя указатели? #include<iostream> using namespace std; const int n = 10; ... http://www.cyberforum.ru/cpp-beginners/thread393899.html
C++ Динамический массив
Подскажите, как создать двумерный массив mxn, пожалуйста!
Массив строк... C++
Здравствуйте, помогите пожалуйста, дан файл .txt, в нем неизвестное кол-во символьных строк, надо вывести все строки на экран поочередно, не сразу весь файл вывести! на Си.
C++ построение графика f(x)=x^4+3x-20 http://www.cyberforum.ru/cpp-beginners/thread393892.html
Дали задание в универе, График из Mathcad'a нужно нарисовать в C, но для такого нужен Visual C или C#, а я такого уже не знаю. Помогите написать программу или дайте толковый самоучитель как оно...
C++ Как завершить цикл в OpenMP Использую OpenMP для параллельных расчетов очень нужно при определенном условии экстренно завершить цикл break; с OpenMP не работает можно ли как то завершить цикл не дожидаясь его окончания... подробнее

Показать сообщение отдельно
bigredcat
366 / 313 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
29.11.2011, 09:04
Ну, если подумать, то 49 кейсов совсем даже не нужно.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
switch (age % 10)
{
case 1:
    cout << age << " год";
    break;
case 2:
case 3:
case 4:
    cout << age << " года";
    break;
default:
    cout << age << " лет";
    break;
}
Добавлено через 33 минуты
Но вопрос стоял еще и о выводе прописью числа.
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
void PrintAge(int age)
{
    string s0[] =
    {
        "один",
        "два",
        "три",
        "четыре",
        "пять",
        "шесть",
        "семь",
        "восемь",
        "девять"
    };
 
    string s1[] =
    {
        "двадцать",
        "тридцать",
        "сорок",
        "пятьдесят",
        "шестьдесят"
    };
 
    int a0 = age % 10; // количество единиц
    int a1 = age / 10; // количество десятков
 
    // -1  -  поправка индекса для s0, т.к. начинается с одного.
    // -2  -  поправка индекса для s1, т.к. начинается с двадцати.
    switch (a0)
    {
    case 0:
        cout << s1[a1 - 2] << " лет";
        break;
    case 1:
        cout << s1[a1 - 2] << " " << s0[a0 - 1] << " год";
        break;
    case 2:
    case 3:
    case 4:
        cout << s1[a1 - 2] << " " << s0[a0 - 1] << " года";
        break;
    default:
        cout << s1[a1 - 2] << " " << s0[a0 - 1] << " лет";
        break;
    }
}
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru