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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Ассоциативные контейнеры http://www.cyberforum.ru/cpp-beginners/thread992746.html
Скажите, пожалуйста, как с помощью контейнеров multimap или multiset реализовать хранение объектов класса Праздник. вот мой класс, а что и как с ним делать дальше...? class holiday{ // char* name; int day; int month; public: // holiday(char* name="New Year", int day=1, int month=1){
C++ класс для работы з массивами Создать класс для работы з массивами что содержит М та N елементы и включить функции формирования елементов массива, конструктора и деструктора класса и вывести все на экран. http://www.cyberforum.ru/cpp-beginners/thread992734.html
C++ Перестановить положительные элементы в начало массива, отрицательные — в конец
Помогите написать задачи: 1. Перестановить положительные элементы в начало массива, отрицательные - в конец. 2. Найти элемент с заданным ключом (значением). 3. Сортировать простой обмен.
Найти сумму ряда C++
нужно найти сумму ряда . пробовал с pow , но выдает ошибку Вот код , Но он без функции возведения в степень. не могу придумать как её правильно сделать #include <conio> #include <iostream> #include <cmath> using namespace std; int main() { double Sum=0; int n=1;
C++ что нетак с кодом http://www.cyberforum.ru/cpp-beginners/thread992706.html
Добрый день! Подскажите пожалуйста пару нюансев с кодом. #include "stdafx.h" #include<ctime> #include<iostream> using namespace std; class CTime { int Sec; public:
C++ Чтение файлов Имеется файл c большим размером, открытым в булевом режиме чтения. Нужно считать часть этого файла размером 65535 байт, потом снова считать 65535, и так до тех пор пока не закончится файл. Как мне это сделать? подробнее

Показать сообщение отдельно
Demelurg
0 / 0 / 0
Регистрация: 12.10.2013
Сообщений: 28
30.10.2013, 17:19     Прохожу масивы
Одним из недостатков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;
}
не судите строго.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru