Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 29.06.2017
Сообщений: 4

Вывод количества монет в правильной грамматической форме

20.07.2017, 11:15. Показов 1192. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствйте!
Задача 11 3 глава в книге Б. Страуструпа
Большая часть программы решена, но последняя часть задания добила...

Необходимо, чтобы ответ выводился в правильной грамматической форме. Необходимо использовать достаточно простые конструкции (while, if).

Я начинающий, пока прочитал только 119 стр. книги Б. Страуструпа "Программирование: принципы и практика использования C++".


--------------------------------------
Использую: Xcode (версия 8.3.3)
Операционная система: Mac OS X

Всем кто откликнулся огромное благодарю!

Код программы:

Не использую директиву Б.Страуструпа std_lib_facilities.

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
#include <iostream>
using namespace std;
 
int main ()
{
    cout <<"Здравствуйте! Добро пожаловать в счётчик монет!\n";
    
    cout <<"Сколько у вас одноцентовых монет?                                            ";
    int one = 0;
    cin >> one;
    cout <<"\n";
    
    cout <<"Сколько у вас пятицентовых монет?                                            ";
    int fife = 0;
    cin >> fife;
    cout <<"\n";
    
    cout <<"Сколько у вас десятицентовых монет?                                          ";
    int ten = 0;
    cin >> ten;
    cout <<"\n";
    
    cout <<"Сколько у вас 25-центовых монет?                                             ";
    int n25 = 0;
    cin >> n25;
    cout <<"\n";
    
    
    cout <<"Сколько у вас 50-центовых монет?                                             ";
    int n50 = 0;
    cin >> n50;
    
    cout <<"\n";
    cout <<"\n";
    cout <<"\n";
    cout <<"\n";
    cout <<"\n";
    
    int summ = 0;
    summ = one+fife+ten+n25+n50;
    
    cout <<"У вас " <<one <<" одноцентовые монеты.\n"
    <<"У вас " <<fife <<" пятицентовых монет.\n"
    <<"У вас " <<ten <<" десятицентовых монет.\n"
    <<"У вас " <<n25 <<" 25-центовых монет.\n"
    <<"У вас " <<n50 <<" 50-центовые монеты.\n";
    cout <<"Общая стоимость ваших монет равна " <<summ <<" центам.\n";
    
}
Фото задания из книги ниже:
Миниатюры
Вывод количества монет в правильной грамматической форме  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.07.2017, 11:15
Ответы с готовыми решениями:

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

Определить фальшивую монету за заданое число взвешиваний среди указанного количества золотых монет
Есть 25 золотых монет. Одна из них фальшивая и она по весу меньше. Определить за 3 взвешивания фальшивую монету. Взвешивание производится...

Дописать слово «Рубль» в правильной форме
Составить программу, которая после введенного с клавиатуры числа (в диапазоне от 1 до 99), обозначающего денежную единицу, дописывает слово...

5
 Аватар для AmbA
495 / 24 / 6
Регистрация: 09.06.2017
Сообщений: 322
Записей в блоге: 19
20.07.2017, 11:29
Последняя - это про грамматически правильную форму? Если да, то используем извлечение остатка
C++
1
%
, и оператор switch, и отдельный if - для диапазона -надцать - 11...19. Сначала if, потом switch.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
20.07.2017, 11:31
Dmitriy1594, Вот, похожее
Определить окончание существительного в зависимости от введенного количества
Там, правда, считают более интересные и актуальные вещи...
0
0 / 0 / 0
Регистрация: 29.06.2017
Сообщений: 4
20.07.2017, 11:33  [ТС]
Amba, благодарю!
Щас попробуем!
0
0 / 0 / 0
Регистрация: 29.06.2017
Сообщений: 4
20.07.2017, 13:44  [ТС]
Байт, огромнейшее вам благодарю!!

Та ссылка, которую вы прислали, очень помогла!)))
AmbA, вам тоже огромное благодарю за подсказку, тоже помогла!

Вообщем код работает , но Xcode ругается ошибкой 11db))

Вот код, который получился:

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
#include <iostream>
using namespace std;
 
int main ()
{
    cout <<"Здравствуйте! Добро пожаловать в счётчик монет!\n";
    
    /* Одноцентовые монеты */
    cout <<"Сколько у вас одноцентовых монет?                                            ";
    int one = 0;
    cin >> one;
    cout <<"\n";
    
    /* Пятицентовые монеты */
    cout <<"Сколько у вас пятицентовых монет?                                            ";
    int fife = 0;
    cin >> fife;
    cout <<"\n";
    
    /* Десятицентовые монеты */
    cout <<"Сколько у вас десятицентовых монет?                                          ";
    int ten = 0;
    cin >> ten;
    cout <<"\n";
    
    /* 25-центовые монеты */
    cout <<"Сколько у вас 25-центовых монет?                                             ";
    int n25 = 0;
    cin >> n25;
    cout <<"\n";
    
    /* 50-центовые монеты */
    cout <<"Сколько у вас 50-центовых монет?                                             ";
    int n50 = 0;
    cin >> n50;
    
    cout <<"\n";
    cout <<"\n";
    cout <<"\n";
    cout <<"\n";
    cout <<"\n";
    
    int summ = 0;
    summ = one+fife+ten+n25+n50;
    
    //---------------------------------------------------------------------------------------------
    /* Одноцентовые монеты */
    if (one >= 10 and one <= 20) {cout<<"У вас "<<one <<" одноцентовых монет\n";}
    else
    {
        cout<<"У вас "<<one;
        switch(one % 10)
        {
            case 0: case 5: case 6: case 7: case 8: case 9: cout<<" одноцентовых монет";
                break;
            case 1: cout<<" одноцентовая монета";
                break;
            case 2: case 3: case 4: cout<<" одноцентовые монеты";
                break;
        }
        
        cout<<".\n";
    }
    //---------------------------------------------------------------------------------------------
    /* Пятицентовые монеты */
    if (fife >= 10 and fife <= 20) {cout<<"У вас "<<fife <<" пятицентовых монет\n";}
    else
    {
        cout<<"У вас "<<fife;
        switch(fife % 10)
        {
            case 0: case 5: case 6: case 7: case 8: case 9: cout<<" пятицентовых монет";
                break;
            case 1: cout<<" пятицентовая монета";
                break;
            case 2: case 3: case 4: cout<<" пятицентовые монеты";
                break;
        }
        
        cout<<".\n";
    }
    //---------------------------------------------------------------------------------------------
    /* Десятицентовые монеты */
    if (ten >= 10 and ten <= 20) {cout<<"У вас "<<ten <<" десятицентовых монет\n";}
    else
    {
        cout<<"У вас "<<ten;
        switch(ten % 10)
        {
            case 0: case 5: case 6: case 7: case 8: case 9: cout<<" десятицентовых монет";
                break;
            case 1: cout<<" десятицентовая монета";
                break;
            case 2: case 3: case 4: cout<<" десятицентовые монеты";
                break;
        }
        
        cout<<".\n";
    }
    //---------------------------------------------------------------------------------------------
    /* 25-центовые монеты */
    if (n25 >= 10 and n25 <= 20) {cout<<"У вас "<<n25 <<" десятицентовых монет\n";}
    else
    {
        cout<<"У вас "<<n25;
        switch(n25 % 10)
        {
            case 0: case 5: case 6: case 7: case 8: case 9: cout<<" десятицентовых монет";
                break;
            case 1: cout<<" десятицентовая монета";
                break;
            case 2: case 3: case 4: cout<<" десятицентовые монеты";
                break;
        }
        
        cout<<".\n";
    }
    //---------------------------------------------------------------------------------------------
    /* 50-центовые монеты */
    if (n50 >= 10 and n50 <= 20) {cout<<"У вас "<<n50 <<" десятицентовых монет\n";}
    else
    {
        cout<<"У вас "<<n50;
        switch(n50 % 10)
        {
            case 0: case 5: case 6: case 7: case 8: case 9: cout<<" десятицентовых монет";
                break;
            case 1: cout<<" десятицентовая монета";
                break;
            case 2: case 3: case 4: cout<<" десятицентовые монеты";
                break;
        }
        
        cout<<".\n";
    }
    //---------------------------------------------------------------------------------------------
    
    cout <<"Общая стоимость ваших монет равна " <<summ <<" центам.\n";
    
}

Ниже прислал 2 фото, на которых:
1 фото: то что выводится в консоли (обошёл ошибку с помощью прописывания continue в консоли (вот так: "(11db) continue"))
2 фото: ошибка в консоли (справа внизу)


И всё же хочется, чтобы без ошибок работала программа
Миниатюры
Вывод количества монет в правильной грамматической форме   Вывод количества монет в правильной грамматической форме  
0
 Аватар для AmbA
495 / 24 / 6
Регистрация: 09.06.2017
Сообщений: 322
Записей в блоге: 19
20.07.2017, 14:37
Ошибку в консоли не вижу, а вот монеты надо умножать на их номинал, чтобы получить сумму денег )

Добавлено через 15 минут
И, мне кажется, выравнивать по правому краю с помощью пробелов - не это имелось в виду. Или спец. команда должна быть, как в штмл, или просто пару табов тиснуть
C++
1
cout << "Сколько у вас одноцентовых монет?\t\t";
да и всё.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.07.2017, 14:37
Помогаю со студенческими работами здесь

Проверка количества монет
В моей игре есть момент когда нужно 600 монет и тут возникает вопрос, если у игрока не 600 ,а 607 или 601 Можне без долго писания текста...

Изменение значения количества монет в приложении
Добрый день! Как можно реализовать чтобы при нажатии кнопки, (к примеру +5 монет) произошло моментальное обновление баланса! И ещё вот...

Подсчет количества монет разного номинала в определенной сумме
Привет всем! Прошу помощи в решении задачи. Содержание следующее: Необходимо создать скрипт, который будет считать количество монет,...

Найти наименьшее количество купюр и монет для выдачи энного количества рублей
Найти наименьшее количество купюр и монет для выдачи N рублей

вывести слово рубль в правильной форме
Помогите создать программы.очень срочно нужно. 1.вычисление стоимости телефонного разговора, предоставляемого по субботе и воскресенье...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru