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

Решение всех упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Конвертер текстового файла http://www.cyberforum.ru/cpp-beginners/thread439174.html
Добрый день!!! Простите за наглость... Помогите пожалуйста написать программу-конвертер текстовых файлов из dos в windows и обратно. С командной строки должно вводится направление /d или /w. Я очень мало в этом понимаю. Заранее спасибо!!!
C++ Проблема с libmms - ошибка при компиляции. Здравствуйте. Уже который день не могу разобраться с упомянутой в заголовке библиотекой, а именно: пишу примерно такой тестовый код #include <iostream> #include <libmms/mms.h> int main() { mms_t *stream; char mms_link="mms://audio.rfn.ru/radiorus/audio/710/90.asf"; stream=mms_connect(0, 0, mms_link, 128); http://www.cyberforum.ru/cpp-beginners/thread439169.html
C++ Привет. Как можна найти с даного примера умножение элементов массива с четными номерами?
#include "stdafx.h" #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <iostream> using namespace std; int main(int argc, _TCHAR* argv)
C++ Начало DEV С++
Здравствуйте, подскажите где ошибка? Задание Даны действительные числа х, у . Если х, у отрицательные то каждое значение заменить его модулем; если отрицательное только одно из них, то оба значения увеличить на 0.5; если оба значения не отрицательные и ни одно из них не принадлежат отрезку , то оба значения уменьшить в 10 раз; в остальных случаях х, у оставить без изменения. Решение ...
C++ Запись текста в файл http://www.cyberforum.ru/cpp-beginners/thread439138.html
Нужно составить прогрумма которая создает файл и записывает в него текст. Программа не записывает в файл текст после пробела, помогите пожалуйста. char name; char text; cout<<"vvedite put' i im9 faila:\n"; cin>>name; ofstream out(name); cout<<"vvedite text:\n"; cin>>text; out<<text; out.close();
C++ allocator std::map Подскажите вопрос, есть тестовое задание: Написать allocator для std::map, располагающий элементы контейнера последовательно в памяти. Подскажите где про это почитать и разъясните по-возможности, что это вообще такое (std::map я вкурсе что это контейнер и как с ним работать) в ступор вводит allocator подробнее

Показать сообщение отдельно
Kins
59 / 58 / 6
Регистрация: 03.02.2013
Сообщений: 167
27.03.2013, 13:47     Решение всех упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++"
Глава 7 Упражнение №11
Кликните здесь для просмотра всего текста
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
/////////////////////////////////////////////////////////////////
class money
{
    static const int MAX=30;
    long double cash;
    char ustring[MAX];
    char out[MAX];
public:
    money(){cash=0.0; out[0]='$';}//конструктор, который добавляет в массив out символ '$' нулевым индексом
    void ldtoms()
    {
        setlocale(LC_ALL,"");
        cout <<"Введите число: "; cin >>cash;
        _gcvt_s(ustring, MAX, cash, 16);//КРИВОЕ! преобразование в массив: заместо десятичной точки выводит запятую
        cout <<"Массив ustring[]: " <<ustring <<endl;
        int i=strlen(ustring);
        int z=0, t=0;
        //(j-z)-разница длины out с поправкой на количество добавленных запятых
        for(int j=MAX; (j-z)>0; j--)//цикл заполнения массива out[] начиная с последнего индекса с поправкой на z-количество добавленных запятых
        { 
            if(i>=0) out[j-z]=ustring[i--];//копированеи элементов массива 
            else //если закончилось копирование символов в out[] из ustring[]
            {
                for(int jj=0; jj<=(strlen(ustring)+z); jj++)//цикл перемещения символов в массиве к началу
                {
                    int temp;
                    temp=out[j-z+jj];
                    out[j-z+jj]=out[j-z+jj+1];
                    out[j-z+jj+1]=temp;
                }
                continue;
            }
            if(i==(strlen(ustring)-7))//условие для постановки первой запятой при условии что число будет с двумя элементами после десятичной точки
            {
                ++z;//счетчик количества добавленных запятых в качестве элементов массива
                out[j-z]=',';//ставим первую запятую
            }
            if(i<(strlen(ustring)-7))//условие постановки остальных запятых
            {
                ++t;//счетчик символов после каждой добавленной запятой
                if(t==3)//если были скопированы три символа, то
                {
                    ++z;//счетчик очередной запятой +1
                    out[j-z]=',';//ставим запятую
                    t=0;//обнуляем счетчик подсчета символов между запятыми
                }
            }           
        }
        out[strlen(ustring)+1+z]='\0';//постановка после цикла перемещения символов символа окончания строки(z-количество добавленных запятых, +1-учет символа '$')
        cout <<"Массив out[]: " <<out <<endl;
    }
}; 
/////////////////////////////////////////////////////////////////
int _tmain(int argc, _TCHAR* argv[])
{
    money m;
    m.ldtoms();
    system("pause");
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru