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

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

Войти
Регистрация
Восстановить пароль
 
Demelurg
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 32
#1

Прохожу масивы - C++

30.10.2013, 17:19. Просмотров 245. Ответов 0
Метки нет (Все метки)

Одним из недостатковC++ является отсутствие для бизнес-программ
встроенного типа для денежных значений, такого, как $173 698 001.32.
Такой денежный тип должен иметь возможность для хранения числа с
фиксированной десятичной точкой точностью около 17 знаков, которого
было бы достаточно для хранения национального долга в долларах и цен-тах. К счастью, встроенный типC++ long double имеет точность 19 цифр,
поэтому мы можем использовать его как базисный для класса money, даже
используя плавающую точку. Однако нам нужно будет добавить возмож-ность ввода и вывода денежных значений с предшествующим им знаком
доллара и разделенными запятыми группы по три числа: так проще читать
большие числа. Первым делом при разработке такого класса напишем ме-тод mstold(), который принимает денежную строку, то есть строку, пред-ставляющую собой некоторое количество денег типа
"$1 234 567 890 123.99"
в качестве аргумента и возвращает эквивалентное ее значению число типа
long double.
Вам нужно будет обработать денежную строку как массив символов и,
просматривая ее символ за символом, скопировать из нее только цифры
(0-9) и десятичную точку в другую строку. Игнорируется все остальное,
включая знак доллара и запятые. Затем вы можете использовать биб-лиотечную функцию _atold() (заметим, что здесь название функции на-чинается с символа подчеркивания — заголовочные файлы STDLIB.H или
MATH.H) для преобразования новой строки к числу типа long double. Пред-полагаем, что денежное значение не может быть отрицательным. Напи-шите функцию main() для проверки метода mstold(), которая несколько
раз получает денежную строку от пользователя и выводит соответству-ющее число типа long double.

Начал учить по книге Лафоре , норм она как начинающемучеловеку ?

немог сперва нормально решить , потому что не мог запустить функцию _atold() но нашол на форуме что правльно будет atof();
но для правильного вывода числа надо использовать fixed и setprecision(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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
class money
{
private:
    long double over;
public:
    void moveSort( string str )
    {
        int countS = str.length();//довжина строки
        char word[30] ;
        int n = 0;
 
        for( int i = 0 ; i < countS ; i++ )
        {
            if( isdigit (str[i]) || str[i] == '.' )// цифри і знак " . " копіює в строку word а все інше пропускає.
            {
                word[n] = str[i];
                n++;                
            }
            over = atof(word);//перетворення
        }
    }
 
    void showMoney()
    {
        cout<<" You enter money = "<<fixed<<setprecision(2)<<over;//вивід
    }
};
 
int main()
{
    money numMoney;
    string myWords;
 
    cout<<" Enter you money => ";// ввід слова
    getline(cin,myWords);
    
    cout<<endl; 
 
    numMoney.moveSort(myWords);// перетворення і вивід
    numMoney.showMoney();
 
    cout<<endl<<endl;
 
    return 0;
}
не судите строго.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2013, 17:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Прохожу масивы (C++):

Масивы - C++
Помогите сделать задачу по С++. Создать массив. Вывести массив в общепринятом виде. Превратить массив, согласно условиям. Вывести...

Масивы - C++
Приветик помогите решить прошку пожалуста У прилавка магазина выстроилась очередь из n покупателей. Время обслуживания i-того...

масивы - C++
сортировки массива методом пузырька и методом прямого включения Програмы нужны в Microsoft visual studio заранье спасибо

Масивы - C++
В квадратном массиве заданы целые числа. Определить количество элементов главной диагонали. только пожалуйста сделайте так как для...

С++ Масивы - C++
Помогите написать 3 программы по этим заданиям в С++! В одномерном массиве, который состоит из n действительных элементов, вычислить: ...

2-D масивы. - C++
Помогите! Написать программу в С++ которая будет проверять является ли 2-д масив маг.квадратом,у которого сума строк,столбцов и...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2013, 17:19
Привет! Вот еще темы с ответами:

Масивы - C++
Здраствуйте! Если есть минутка свободного времени, помогите решить задачу: росположить елементы масива так, что бы сначали ишли елементы...

C++ масивы - C++
Начал решать задачу, вот условие: Дан целочисленный массив размера N. Удалить из массива все элементы, встречающиеся ровно два раза, и...

Масивы С/С++ - C++
Подскажите пожалуйста, как в С создать массив А, при этом что бы выполнялась программа без ошибок. Потому что компиляция происходит...

Функции и масивы - C++
Почему когда выполняется условие Bridge не записывается? int CheckAllLines(char *Massive, int *Bridges, int FromLine, int ToLine, int...


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

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

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