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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Чеченец
0 / 0 / 0
Регистрация: 14.11.2012
Сообщений: 37
#1

Дописать "рубль" в правильной форме - C++

15.11.2012, 22:11. Просмотров 800. Ответов 10
Метки нет (Все метки)

Написать программу которая после введенного с клавиатуры числа ( в диапазоне от 1 до 999), обозначающего денежную единицу,дописывает "рубль" в правильной форме. Например,12 рублей,21 рубль.

 Комментарий модератора 
Запрещено размещать тему в нескольких разделах одновременно (кросспостинг), а также дублировать тему в одном разделе.
Правила форума
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2012, 22:11     Дописать "рубль" в правильной форме
Посмотрите здесь:

дописать "х" после каждого максимума C++
C++ После введенного числа дописать слово "копейка" в правильной форме
C++ После введенного числа дописать "Рубль" в правильной форме
C++ Вывод слов, заканчивающихся на "о" (чуть дописать прогу)
Вывести слово "грамм" в правильной форме (прокомментировать) C++
Правильно ли написано программа про "Рубля, рублей, рубль" C++
Дописать слово в правильной форме C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
15.11.2012, 22:54     Дописать "рубль" в правильной форме #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
#include <stdio.h>
#include <conio.h>
#include <process.h>
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int k;
    cout << "Введите число от 1 до 999: ";
    cin >> k;
    switch(k%10)
    {
     case 0: case 5: case 6: case 7: case 8: case 9: cout << "рублей\n";
     break;
     case 1: cout << "рубль\n";
     break;
     case 2: case 3: case 4: cout << "рубля\n";
     break;
    }
    system("pause");
    return 0;   
}
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
15.11.2012, 22:56     Дописать "рубль" в правильной форме #3
Ryuk, 11 рублей, 12 рублей, 13 рублей...
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
15.11.2012, 23:02     Дописать "рубль" в правильной форме #4
I.M., так в чем проблема?

Добавлено через 1 минуту
забыл ограничитель ввода
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
#include <stdio.h>
#include <conio.h>
#include <process.h>
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int k;
    cout << "Введите число от 1 до 999: ";
    cin >> k;
    while ( (k > 999) | (k == 0) )
    {
        cout << "Введено недопустимое значение. Повторите ввод!\n";
        cin >> k;
    }
 
    switch(k%10)
    {
     case 0: case 5: case 6: case 7: case 8: case 9: cout << "рублей\n";
     break;
     case 1: cout << "рубль\n";
     break;
     case 2: case 3: case 4: cout << "рубля\n";
     break;
    }
    system("pause");
    return 0;   
}
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
15.11.2012, 23:03     Дописать "рубль" в правильной форме #5
Ryuk, я думал, вы догадаетесь.
Ваша программа выдаст
11 рубль
12 рубля
13 рубля
14 рубля
что неверно
GoodLife
9 / 9 / 3
Регистрация: 23.10.2012
Сообщений: 171
15.11.2012, 23:06     Дописать "рубль" в правильной форме #6
Цитата Сообщение от I.M. Посмотреть сообщение
Ryuk, 11 рублей, 12 рублей, 13 рублей...
В том-то и проблема что будет
11 рубль, 12 рубля, 13 рубля =) хех, прям как Жамшут и Равшан
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
15.11.2012, 23:13     Дописать "рубль" в правильной форме #7
I.M., не могу придумать, как исправить
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
15.11.2012, 23:15     Дописать "рубль" в правильной форме #8
Ryuk, изящно их в свитч не добавить. просто сделайте под проверку перед свитчом
GoodLife
9 / 9 / 3
Регистрация: 23.10.2012
Сообщений: 171
15.11.2012, 23:18     Дописать "рубль" в правильной форме #9
Как вариант перед свич оператор поставить типа
C++
1
if ((k>10)&&(k<20)){cout << "рублей\n";system("pause");return 0;}
Добавлено через 2 минуты
I.M., обновляю пусто, написал, отправил, уже поздно, я прям мисетр дубль...
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
15.11.2012, 23:24     Дописать "рубль" в правильной форме #10
GoodLife, тогда для каждой сотни придется писать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2012, 23:41     Дописать "рубль" в правильной форме
Еще ссылки по теме:

C++ Как возможно выйти в инструкции switch в начало самой инструкции при нажатии "не правильной" кнопки
"Красный Тигр" vs. "Желтый Заяц". А каким будет 3005 год? C++
ткните мордой плз на описание конструкций типа defect?"brak":"goden" C++
Как дописать код для полного функционирования? Структура "Студент" C++
Написать программу, обеспечивающую корректное изменение слова "рубль" в связке с числительными C++

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

Или воспользуйтесь поиском по форуму:
GoodLife
9 / 9 / 3
Регистрация: 23.10.2012
Сообщений: 171
15.11.2012, 23:41     Дописать "рубль" в правильной форме #11
блин, так думать не охота.... ну у меня только некрасивый вариант типа
C++
1
2
int k2=k/10;
if((k2>10?k2%10;k2)==1){cout << "рублей\n";system("pause");return 0;}
Yandex
Объявления
15.11.2012, 23:41     Дописать "рубль" в правильной форме
Ответ Создать тему
Опции темы

Текущее время: 05:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru