Форум программистов, компьютерный форум 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 подробнее

Показать сообщение отдельно
Ferrari F1
Заблокирован
294 / 280 / 61
Регистрация: 27.01.2015
Сообщений: 1,888
Записей в блоге: 1
Завершенные тесты: 1
27.01.2015, 18:45     Решение всех упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++"
Сообщение будет редактироваться по мере решения задач.

Глава 2

Номер 1

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    float temp;
    cout << "Введите число галлонов:" << endl;
    cin >> temp;
    cout << "Аналогичный объем в куб. футах равен:\n"
         << temp / 7.481 << endl;
    system("pause");
    return 0;
}


Номер 2

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << 1990 << setw(8) << 135 << '\n'
         << 1991 << setw(8) << 7290 << '\n'
         << 1992 << setw(8) << 11300 << '\n'
         << 1993 << setw(8) << 16200 << endl;
    system("pause");
    return 0;
}


Номер 3

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    unsigned __int16 temp(10);
    cout << temp << endl;
    temp *= 2;
    cout << temp << endl;
    cout << --temp << endl;
    system("pause");
    return 0;
}


Номер 4

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Муха села на варенье.\nВот и все стихотворение." << endl;
    system("pause");
    return 0;
}


Номер 5

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <ctype.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Введите символ: ";
    char ch; cin >> ch;
    cout << islower(ch) << endl;
    system("pause");
    return 0;
}


Номер 6

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <ctype.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    float temp;
    cout << "Введите сумму в \x24: ";
    cin >> temp;
    cout << "Аналогичная сумма в фунтах стерлингов: " << temp / 1.487 << endl
         << "Аналогичная сумма во франках: " << temp * 0.172 << endl
         << "Аналогичная сумма в немецких марках: " << temp * 0.584 << endl
         << "Аналогичная сумма в японских йенах: " << temp * 0.00955 << endl;
    system("pause");
    return 0;
}


Номер 7

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <ctype.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Введите температуру в градусах по Цельсию:" << endl;
    float temp;
    cin >> temp;
    cout << "Аналогичная температура в градусах по Фаренгейту равна:\n"
         << temp * 9 / 5 + 32 << endl;
    system("pause");
    return 0;
}


Номер 8

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <ctype.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    unsigned __int32 pop1(8425785), pop2(47), pop3(9761);
    cout << setw(9) << "Город" << setfill('.') << setw(12) << "Население" << setfill(' ') << endl;
    cout << setw(9) << "Москва" << setfill('.') << setw(12) << pop1 << setfill(' ') << endl;
    cout << setw(9) << "Киров" << setfill('.') << setw(12) << pop2 << setfill(' ') << endl;
    cout << setw(9) << "Угрюмовка" << setfill('.') << setw(12) << pop3 << setfill(' ') << endl;
    system("pause");
    return 0;
}


Номер 9

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <ctype.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    __int32 a, b, c, d;
    cout << "Введите первую дробь: "; cin >> a >> b;
    cout << "Введите вторую дробь: "; cin >> c >> d;
    cout << "Сумма равна: " << a * d + b * c << '/' << b * d << endl;
    system("pause");
    return 0;
}


Номер 10

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <ctype.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    unsigned __int16 f, s, p;
    cout << "Введите количество фунтов: "; cin >> f;
    cout << "Введите количество шиллингов: "; cin >> s;
    cout << "Введите количество пенсов: "; cin >> p;
    p = ((s * 12 + p) / 2.4 - int((s * 12 + p) / 2.4) >= 0.5) ? (s * 12 + p) / 2.4 + 1 : (s * 12 + p) / 2.4;
    cout << "Десятичных фунтов: " << f << '.' << p << endl;
    system("pause");
    return 0;
}


Номер 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
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <ctype.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << setiosflags(ios::left)
         << setw(10) << "Фамилия" << setw(10) << "Имя"
         << setw(15) << "Адрес" << "Город\n";
    cout << "---------------------------------------------------\n";
    cout << setw(10) << "Петров" << setw(10) << "Василий"
         << setw(15) << "Кленовая 16" << "Санкт-Петербург\n";
    cout << setw(10) << "Иванов" << setw(10) << "Сергей"
         << setw(15) << "Осиновая 3" << "Находка\n";
    cout << setw(10) << "Сидоров" << setw(10) << "Иван"
         << setw(15) << "Березовая 21" << "Калининград\n";
    system("pause");
    return 0;
}


Номер 12

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <ctype.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Введите число десятичных фунтов: ";
    float temp;
    cin >> temp;
    cout << "Эквивалентная сумма в старой форме записи: " << int(temp) << '.'
         << int((temp - int(temp)) * 100 * 2.4) / 12 << '.'
         << int((temp - int(temp)) * 100 * 2.4) % 12 << endl;
    system("pause");
    return 0;
}



Добавлено через 12 минут
Глава 3

Номер 1

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Введите число, таблицу умножения которого вы хотите просмотреть.\n";
    unsigned __int16 n; cin >> n;
    for (unsigned __int32 i(1), temp(n); i <= 20; cout << endl, i++)
        for (unsigned __int16 j(1); j <= 10; j++, temp += n)
            cout << setw(6) << temp;
    system("pause");
    return 0;
}


Номер 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
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <conio.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Нажмите 1 для перевода шкалы Цельсия в шкалу Фаренгейта,\n"
         << "2 для перевода шкалы Фаренгейта в шкалу Цельсия: ";
    switch (getche() - 48)
    {
        float temp;
    case 1:
        cout << "\n\nВведите температуру по Цельсию:" << endl;
        cin >> temp;
        cout << "Температура по Фаренгейту равна: " << 1.8 * temp + 32 << endl;
        break;
    case 2:
        cout << "\n\nВведите температуру по Фаренгейту:" << endl;
        cin >> temp;
        cout << "Температура по Цельсию равна: " << (temp - 32) / 1.8 << endl;
        break;
    default: cout << "\n\nВведена неверная цифра." << endl;
    }
    system("pause");
    return 0;
}


Номер 3

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    unsigned __int32 num(0);
    cout << "Введите число: ";
    for (char ch; (ch = getche()) != '\r';)
        num = num*10 + (ch - 48);
    cout << "\nВы ввели число: " << num << endl;
    system("pause");
    return 0;
}


Номер 4

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
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    for (char ch('z'); ch != '0'; ch=getche())
    {
        if (ch != 'z') cout << endl;
        cout << "Введите первый операнд, операцию и второй операнд:" << endl;
        __int32 a, b; cin >> a >> ch >> b;
        switch (ch)
        {
        case '+': cout << "Результат равен:\n" << a + b << endl; break;
        case '-': cout << "Результат равен:\n" << a - b << endl; break;
        case '*': cout << "Результат равен:\n" << a * b << endl; break;
        case '/': cout << "Результат равен:\n" << float (a) / b << endl; break;
        default: cout << "Такой операции не существует." << endl;
        }
        cout << "Повторить? (1 - да. 0 - нет.) ";
    }
    cout << endl;
    system("pause");
    return 0;
}


Номер 5

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    for (unsigned __int16 i(1); i <= 20; i++)
    {
        cout << setw(41 - 2 * i);
        for (unsigned __int16 j(1); j <= 2 * i - 1; cout << endl, j++)
            cout << 'x';
    }
    system("pause");
    return 0;
}


Номер 6

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    unsigned __int64 sum(1);
    cout << "Введите число, факториал которого вы хотите вычислить: ";
    for (char ch(getche()); ch != '0'; sum = 1, ch = getche())
    {
        for (unsigned __int16 i(1); i <= ch - 48; i++)
            sum *= i;
        cout << "\nФакториал числа " << ch << " равен: " << sum << endl;
        cout << "Введите число, факториал которого вы хотите вычислить: ";
    }
    cout << endl;
    system("pause");
    return 0;
}


Номер 7

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Введите начальный вклад: ";
    float n; cin >> n;
    cout << "Введите число лет: ";
    unsigned __int16 m; cin >> m;
    cout << "Введите процентную ставку: ";
    float c; cin >> c;
    for (int i(1); i <= m; i++)
        n += n / 100 * c;
    cout << "Через " << m << " лет вы получите " << n << " доллара." << endl;
    system("pause");
    return 0;
}


Номер 8

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
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    unsigned __int32 a, b, c, d, e, f;
    for (char ch('z'); ch != '0'; ch = getche())
    {
        if (ch != 'z') cout << endl;
        cout << "Введите первую сумму: ";
        cin >> a >> b >> c;
        cout << "Введите вторую сумму: ";
        cin >> d >> e >> f;
        if (c + f < 12) c += f; else
        {
            b += (c + f) / 12;
            c = (c + f) % 12;
        }
        if (b + e < 20) b += e; else
        {
            a += (b + e) / 20;
            b = (b + e) % 20;
        }
        cout << "Всего " << a + d << ' ' << b << ' ' << c
            << "\nПовторить? (1 - да. 0 - нет.) ";
    }
    cout << endl;
    system("pause");
    return 0;
}


Номер 9

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Введите число гостей и стульев: ";
    unsigned __int16 n, m;
    cin >> n >> m;
    unsigned __int32 sum(1);
    for (int i(1); i <= m; i++, n--)
        sum *= n;
    cout << "Число возможных рассадок гостей за столом равно: " << sum << endl;
    system("pause");
    return 0;
}


Номер 10

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Введите начальный вклад: ";
    float n; cin >> n;
    cout << "Введите желаемую сумму: ";
    float m; cin >> m;
    cout << "Введите процентную ставку: ";
    float c; cin >> c;
    unsigned __int16 j(0);
    for (; n < m; j++)
        n += n / 100 * c;
    cout << "Вы получите " << m << " доллар(а,ов) через " << j << " лет." << endl;
    system("pause");
    return 0;
}


Номер 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
61
62
63
64
65
66
67
68
69
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    for (char ch('z'); ch != '0'; ch = getche())
    {
        unsigned __int32 a, b, c;
        if (ch != 'z') cout << endl;
        cout << "Введите первую сумму и операцию: ";
        cin >> a >> b >> c >> ch;
        switch (ch)
        {
            unsigned __int32 d, e, f;
            float temp;
        case '+':
            cout << "Введите вторую сумму: ";
            cin >> d >> e >> f;
            if (c + f < 12) c += f; else
            {
                b += (c + f) / 12;
                c = (c + f) % 12;
            }
            if (b + e < 20) b += e; else
            {
                a += (b + e) / 20;
                b += (b + e) % 20;
            }
            a += d;
            cout << "Результат равен: " << a << ' ' << b << ' ' << c << endl;
            break;
        case '-':
            cout << "Введите вторую сумму: ";
            cin >> d >> e >> f;
            if (c >= f) c -= f; else
            {
                c += 12 - f;
                b--;
            }
            if (b >= e) b -= e; else
            {
                b += 20 - e;
                a--;
            }
            a -= d;
            cout << "Результат равен: " << a << ' ' << b << ' ' << c << endl;
            break;
        case '*':
            cout << "На какое число хотите умножить?: ";
            cin >> temp;
            c = (c + 12 * (b + a * 20)) * temp;
            a = c / 240;
            b = (c - a * 240) / 12;
            c -= a * 240 + b * 12;
            cout << "Результат равен: " << a << ' ' << b << ' ' << c << endl;
            break;
        default: cout << "Такой операции не существует." << endl;
        }
        cout << "Повторить? (1 - да. 0 - нет.) ";
    }
    cout << endl;
    system("pause");
    return 0;
}


Номер 12

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
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    for (char ch('z'); ch != '0'; ch = getche())
    {
        if (ch != 'z') cout << endl;
        __int32 a, b, c, d;
        cout << "Введите первую дробь, операцию и вторую дробь:" << endl;
        cin >> a >> b >> ch >> c >> d;
        switch (ch)
        {
        case '+': cout << "Результат равен:\n" << a * d + b * c << '/' << b * d << endl; break;
        case '-': cout << "Результат равен:\n" << a * d - b * c << '/' << b * d << endl; break;
        case '*': cout << "Результат равен:\n" << a * c << '/' << b * d << endl; break;
        case '/': cout << "Результат равен:\n" << a * d << '/' << b * c << endl; break;
        default: cout << "Такой операции не существует." << endl;
        }
        cout << "Повторить? (1 - да. 0 - нет.) ";
    }
    cout << endl;
    system("pause");
    return 0;
}

 
Текущее время: 10:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru