0 / 0 / 0
Регистрация: 14.12.2019
Сообщений: 1
1

Лафоре 7.12 Прошу исправить код

04.06.2020, 01:01. Показов 336. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вернемся к обсуждению денежных строк из упражнения 6. Напишите ме-
тод ldtoms() для преобразования числа типа long double в денежную строку,
представляющую это число. Для начала вам нужно проверить, что значе-
ние long double не очень большое. Мы предполагаем, что вы не будете пы-
таться преобразовать число, больше чем 9 999 999 999 999 990.00. Затем
преобразуем long double в строку (без знака доллара и запятых), храня-
щуюся в памяти, используя объект ostrstream, как рассматривалось ранее
в этой главе. Получившаяся отформатированная строка может быть поме-
щена в буфер, называющийся ustring.
Затем вам нужно будет создать другую строку, начинающуюся со знака
доллара, далее копируем цифру за цифрой из строки ustring, начиная сле-
ва и вставляя запятые через каждые три цифры. Также вам нужно подав-
лять нули в начале строки. Например, вы должны вывести $3 124.95, а не
$0 000 000 000 003 124.95. Не забудьте закончить строку нулевым симво-
лом '\0'.
Напишите функцию main() для тестирования этой функции путем много-
кратного ввода пользователем чисел типа long double и вывода результата
в виде денежной строки.

Вот мой код:
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
#include<sstream>
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
const long double x = 9999999999999990.00;
class money
{
public:
    string ustring;
    stringstream buff;
    string new_string="$";
    long double money1;
    void ldtoms()
    {
        cout << "Введите число: ";
        cin >> money1;
        if (money1 > x)
        {
            cout << "Ошибка, значение слишком большое";
            exit(0);
        }
        buff << money1;
        buff >> ustring;
        
        int length = ustring.length();
        for (int i = length; i > 0; i--)
        {
            cout << endl << endl << i << endl << endl;
            if (ustring[length - i] != '.' && ustring[length - i] != ',' && ustring[length - i] != '$')
            {
                new_string += ustring[length - i];
                
            }
            if (i == 3)
            {
                new_string += ",";
            }
            {
                if (i==7||i==10||i==13||i==16||i==17||i==20) {
                    new_string += " ";
                }
 
            }
            
        }
        cout << setprecision(20) << new_string << endl;
    }};
int main()
{
    setlocale(0, "rus");
    money money;
    money.ldtoms();
}
Можете исправить пожалуйста на рабочую версию?
Никак не могу понять, почему буфер нормально не преобразуется и выводит число с экспонентой, а так же с расстановкой пробелов проблемы.
Заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.06.2020, 01:01
Ответы с готовыми решениями:

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

Прошу исправить код программы
Задание: Ввести с клавиатуры текст вида: ‘ 5 mod 3 = ‘ с произвольными целыми числами; вывести на...

Прошу промочь исправить очень простой код. Начинающий
Начал изучать HTML/CSS вёрстку, и вроде всё ничего, завершающий курс, но появилась одна огромная...

Лафоре, код из 10 главы
Как не ломал голову, не могу понять, зачем тут префиксная запись инкремента на 16-ой строке кода :...

2
Злостный нарушитель
 Аватар для Verevkin
9690 / 5250 / 1198
Регистрация: 12.03.2015
Сообщений: 24,742
04.06.2020, 02:05 2
Чо такое лафоре?
0
Неэпический
 Аватар для Croessmah
18115 / 10701 / 2063
Регистрация: 27.09.2012
Сообщений: 26,950
Записей в блоге: 1
04.06.2020, 07:51 3
Verevkin, автор книжек по C++.
0
04.06.2020, 07:51
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.06.2020, 07:51
Помогаю со студенческими работами здесь

пожалуста дайте ответ иногда когда прыгаеш нормально а иногда очень сильно прошу жальтесь я начинающ исправить вот код
using System.Collections; using System.Collections.Generic; using UnityEngine; public class...

Считывание числа поциферно (задача Лафоре, 3 глава, объяснить код)
Напишите программу,которая позволяет пользователю ввести 6 цифр,а затем выводит результат типа long...

Я не прошу писать мне код, я прошу подсказать мне, что за структура требуется в задании
Написать программу для работы по запросам оператора с приоритетной очередью запросов. Куча...

Прошу исправить ошибки
Вчера скачал одну интересную андроид игру. Решил попробовать получить исходники в Unity. Заметил,...

прошу исправить ошибку
Помогите найти ошибку. Выполнял задание по методичке, а тут что-то не выходит. Вот задание: &quot;В...

Код из "Р.Лафоре. ООП в С++"
Р.Лафоре. &quot;ООП в С++ &quot; (4-е издание). 2012. Глава 12, стр.574, листинг 12.17, программа EMPL_IO. В...


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

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

Новые блоги и статьи
Как узнать какой процесс блокирует файл или каталог в Windows
bt_guru 23.01.2025
При работе с операционной системой Windows пользователи нередко сталкиваются с ситуацией, когда система отказывается выполнять определенные действия с файлами или каталогами, сообщая, что они. . .
Как в curl узнать код статуса HTTP запроса. Коды состояния HTTP
bt_guru 23.01.2025
Коды состояния HTTP играют значимую роль в обеспечении эффективного взаимодействия между клиентами и серверами. При работе с веб-сервисами важно не только отправлять запросы, но и правильно. . .
Как сортировать вывод команды ls в Linux
bt_guru 23.01.2025
В операционной системе Linux команда ls является одним из наиболее часто используемых инструментов для просмотра содержимого директорий. При работе с файловой системой пользователи регулярно. . .
Как сделать POST запрос с помощью curl
bt_guru 23.01.2025
curl - это мощный инструмент командной строки позволяет отправлять и получать данные через различные протоколы, включая HTTP, HTTPS, FTP и множество других. Особенно полезным curl становится при. . .
Прокрутка в tmux с помощью мыши и клавиатуры
bt_guru 23.01.2025
Tmux представляет собой мощный терминальный мультиплексор, который позволяет пользователям создавать и управлять несколькими терминальными сессиями внутри одного окна. Одной из важнейших функций tmux. . .
Как проверить, содержит ли массив значение в JavaScript. Поиск в массиве
bytestream 23.01.2025
Эффективный поиск значений в массивах становится критически важным навыком для разработчиков, использующих JavaScript. Процесс поиска элементов в массиве может показаться простым на первый взгляд,. . .
Как удалить тег Git в удалённом репозитории (remote)
bytestream 23.01.2025
Одним из важнейших механизмов организации версий в Git являются теги, которые позволяют помечать определенные точки в истории проекта как значимые. Теги часто используются для маркировки релизов,. . .
Чем отличаются URL, URI и URN
bytestream 23.01.2025
Системы идентификации представляют собой фундаментальный механизм, позволяющий однозначно определять местоположение и характеристики различных информационных объектов в глобальной сети. Эти системы. . .
Как центрировать div внутри другого div с помощью CSS. Управление расположением элементов в CSS
bytestream 23.01.2025
Позиционирование элементов играет ключевую роль в создании качественных и профессиональных интерфейсов. Одной из наиболее часто встречающихся задач является центрирование элементов на веб-странице,. . .
Что означают различные символы в синтаксисе PHP
bytestream 23.01.2025
PHP (Hypertext Preprocessor) представляет собой один из наиболее широко используемых языков программирования для веб-разработки, который обладает богатой и интересной историей развития. Изначально. . .
Способы клонирования объектов в JavaScript
bytestream 23.01.2025
В современной разработке на JavaScript работа с объектами является фундаментальной частью создания любого приложения. При манипуляции объектами часто возникает необходимость создавать их копии для. . .
Как проверить состояние чекбокса в jQuery. Как работать с чекбоксами
bytestream 23.01.2025
При разработке интерактивных веб-форм часто возникает необходимость программно определять состояние чекбоксов с помощью jQuery. Чекбоксы являются важными элементами пользовательского интерфейса,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru