Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 10
1

Через ООП: Дать для числа наименование: "рубль", "рубля", "рублей";

17.06.2013, 12:00. Просмотров 3187. Ответов 3
Метки нет (Все метки)


Помогите пожалуйста с задачей. Могу сделать ее просто, но надо через ООП и у меня не получается.

Дано натуральное число N (N<20), определяющее сумму денег в рублях. Дать для этого числа наименование: "рубль", "рубля", "рублей";
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2013, 12:00
Ответы с готовыми решениями:

Нужно сделать так, чтобы при вводе числа, выводило "рублей" или "рубль"
Начал решать задачу и засох на средине, не выходить формулу написать,если не сложно,подскажите) с...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;,...

Для каждой строки найти слова, которые не имеют ни одного из букв: "l", "k", "r", "s" i "j"
Задано символьные строки. Строка состоит из нескольких слов (наборов символов), которые разделяются...

Калькулятор для работы с знаками "+" "-" "/" "*" через string без приоритетов
Нужно написать калькулятор для работы с знаками &quot;+&quot; &quot;-&quot; &quot;/&quot; &quot;*&quot; через string. Приоритеты действий...

3
438 / 406 / 132
Регистрация: 21.01.2012
Сообщений: 974
17.06.2013, 12:23 2
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
#include <functional>
#include <iostream>
 
class money : public std::unary_function<short, const wchar_t*>
{
public:
    const wchar_t* operator () (short m)
    {
        switch (m)
        {
        case 1:
            return L"рубль";
        case 2:
        case 3:
        case 4:
            return L"рубля";
        default:
            break;
        }
        return L"рублей";
    }
};
 
int main()
{
    setlocale(LC_ALL, "Russian");
    money m;
    std::wcout << m(10) << std::endl;
    return 0;
}
1
0 / 0 / 0
Регистрация: 26.04.2013
Сообщений: 10
18.06.2013, 10:04  [ТС] 3
Спасибо большое!!!

Правда программа работает не совсем так как надо(просто выводит слово, не относя к числу и вообще не запрашивает число), но это я думаю не долго исправить.

Можно попросить еще об одном, объяснить поподробней текст программы

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
#include <functional>
#include <iostream>
using namespace std; 
class money : public unary_function<short, const wchar_t*>
{
public:
    const wchar_t* operator () (short m)
    {
        switch (m)
        {
        case 1:
            return L"рубль";
        case 2:
        case 3:
        case 4:
            return L"рубля";
        default:
            break;
        }
        return L"рублей";
    }
};
 
int main()
{
    setlocale(LC_ALL, "Russian");
    money m;
    wcout << m(10) << "\n";
    return 0;
}

Почему только от 1 до 4 рублей или мне просто самой доделать по принципу?
0
В астрале
Эксперт С++
8030 / 4787 / 655
Регистрация: 24.06.2010
Сообщений: 10,558
18.06.2013, 11:06 4
KattyBelka, От 5 и до 20 окончание будет "рублей", что хэндлит дефолтный кейс.
Соответственно разница только для 1 (рубль), и 2,3,4 (рубля).
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2013, 11:06

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Правильно ли написано программа про "Рубля, рублей, рубль"
Здравствуйте, нужно чтобы программа определяла, рубля, рублей, рубль. То есть как правильно...

ООП для создания игры с классами "карта", "игрок", "враги"
Тут такой вопрос, я пишу игру. В игре есть карта,игрок,враги, отлавливание нажатий клавиш, для...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование)
Разработать программу с использованием наследования классов, реализующую классы: − воин;...

Наследуемым классом для комплексного числа объявить класс "радиус-вектор", имеющий данные "длина" и "угол"
кто то напишите пожалуйста, вот программа: наследуемым классом для комплексного числа объявить...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.