Форум программистов, компьютерный форум 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
01.02.2015, 14:29     Решение всех упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++"
Глава 4


Номер 1

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;
 
struct phone
{
    unsigned __int16 code, station, user;
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    phone t1, t2 = {212, 767, 8900};
    cout << "Введите код города, номер станции и номер абонента:" << endl;
    cin >> t1.code >> t1.station >> t1.user;
    cout << "Мой номер: (" << t2.code << ") " << t2.station << '-' << t2.user << endl;
    cout << "Ваш номер: (" << t1.code << ") " << t1.station << '-' << t1.user << endl;
    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
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <ctype.h>
using namespace std;
 
struct point
{
    unsigned __int16 x,y;
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    point p1, p2, p3;
    cout << "Введите координаты точки p1: ";
    cin >> p1.x >> p1.y;
    cout << "Введите координаты точки p2: ";
    cin >> p2.x >> p2.y;
    cout << "Координаты точки p1 + p2 равны: " << p1.x + p2.x << '.' << p1.y + p2.y << 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
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <ctype.h>
using namespace std;
 
struct Distance
{
    int feet;
    float inches;
};
 
struct Volume
{
    Distance length, width, height;
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    Volume room = { {13, 6.5}, {10, 0.0}, {3, 1.4} };
    float l = room.length.feet + room.length.inches / 12;
    float w = room.width.feet + room.width.inches / 12;
    float h = room.height.feet + room.height.inches / 12;
    cout << "Объем комнаты равен " << l * w * h << " квадратным футам." << 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
30
31
32
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <ctype.h>
using namespace std;
 
struct employee
{
    unsigned __int16 number;
    float salary;
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    employee s1, s2, s3;
    cout << "Введите номер и размер оклада 1-ого сотрудника:" << endl;
    cin >> s1.number >> s1.salary;
    cout << "Введите номер и размер оклада 2-ого сотрудника:" << endl;
    cin >> s2.number >> s2.salary;
    cout << "Введите номер и размер оклада 3-его сотрудника:" << endl;
    cin >> s3.number >> s3.salary; cout << endl;
    cout << setw(5) << '№' << setw(10) << "Оклад" << endl;
    for (unsigned __int16 i(1); i <= 15; i++)
        cout << '-'; cout << endl;
    cout << setw(5) << s1.number << setw(10) << s1.salary << endl;
    cout << setw(5) << s2.number << setw(10) << s2.salary << endl;
    cout << setw(5) << s3.number << setw(10) << s3.salary << endl << 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
20
21
22
23
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <ctype.h>
using namespace std;
 
struct date
{
    unsigned __int16 day, month, year;
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    date temp;
    cout << "Введите день, месяц и год в формате ДД/ММ/ГГГГ:" << endl;
    cin >> temp.day >> temp.month >> temp.year;
    cout << "Была введена следующая дата:" << endl;
    cout << temp.day << '/' << temp.month << '/' << temp.year << 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
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
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <ctype.h>
#include <conio.h>
using namespace std;
 
enum etype { laborer, secretary, manager, accountant, executive, researcher };
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    etype title;
    cout << "Список должностей: laborer, secretary, manager\n"
         << setw(53) << "accountant, executive, researcher." << endl;
    cout << "\nВведите первую букву должности: ";
    switch (getche())
    {
    case 'l': title = laborer; break;
    case 's': title = secretary; break;
    case 'm': title = manager; break;
    case 'a': title = accountant; break;
    case 'e': title = executive; break;
    case 'r': title = researcher; break;
    }
    cout << endl << endl;
    switch (title)
    {
    case laborer: cout << "Полное название должности: laborer" << endl;
        break;
    case secretary: cout << "Полное название должности: secretary" << endl;
        break;
    case manager: cout << "Полное название должности: manager" << endl;
        break;
    case accountant: cout << "Полное название должности: accountant" << endl;
        break;
    case executive: cout << "Полное название должности: executive" << endl;
        break;
    case researcher: cout << "Полное название должности: researcher" << endl;
        break;
    }
    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
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <ctype.h>
#include <conio.h>
using namespace std;
 
enum etype { laborer, secretary, manager, accountant, executive, researcher };
 
struct date
{
    unsigned __int16 day, month, year;
};
 
struct employee
{
    unsigned __int16 number;
    float salary;
    etype title;
    date set;
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    employee s1, s2, s3;
    char ch1, ch2, ch3;
    cout << "Введите номер и размер оклада 1-ого сотрудника, а также\n"
         << "первую букву должности и дату принятия его на работу:" << endl;
    cin >> s1.number >> s1.salary >> ch1 >> s1.set.day >> s1.set.month >> s1.set.year;
    cout << "Введите номер и размер оклада 2-ого сотрудника, а также\n"
         << "первую букву должности и дату принятия его на работу:" << endl;
    cin >> s2.number >> s2.salary >> ch2 >> s2.set.day >> s2.set.month >> s2.set.year;
    cout << "Введите номер и размер оклада 3-его сотрудника, а также\n"
         << "первую букву должности и дату принятия его на работу:" << endl;
    cin >> s3.number >> s3.salary >> ch3 >> s3.set.day >> s3.set.month >> s3.set.year;
    cout << endl;
    cout << setw(3) << '№' << setw(8) << "Оклад" << setw(12) << "Должность" << setw(16) << "Дата принятия" << endl;
    for (int i(1); i <= 39; i++)
        cout << '-'; cout << endl;
    cout << setw(3) << s1.number << setw(8) << s1.salary << setw(12);
    switch (ch1)
    {
    case 'l': s1.title = laborer; break;
    case 's': s1.title = secretary; break;
    case 'm': s1.title = manager; break;
    case 'a': s1.title = accountant; break;
    case 'e': s1.title = executive; break;
    case 'r': s1.title = researcher; break;
    }
    switch (s1.title)
    {
    case laborer: cout << "laborer";
        break;
    case secretary: cout << "secretary";
        break;
    case manager: cout << "manager";
        break;
    case accountant: cout << "accountant";
        break;
    case executive: cout << "executive";
        break;
    case researcher: cout << "researcher";
        break;
    }
    cout << setw(8) << s1.set.day << '/' << s1.set.month << '/' << s1.set.year << endl;
    cout << setw(3) << s2.number << setw(8) << s2.salary << setw(12);
    switch (ch2)
    {
    case 'l': s2.title = laborer; break;
    case 's': s2.title = secretary; break;
    case 'm': s2.title = manager; break;
    case 'a': s2.title = accountant; break;
    case 'e': s2.title = executive; break;
    case 'r': s2.title = researcher; break;
    }
    switch (s2.title)
    {
    case laborer: cout << "laborer";
        break;
    case secretary: cout << "secretary";
        break;
    case manager: cout << "manager";
        break;
    case accountant: cout << "accountant";
        break;
    case executive: cout << "executive";
        break;
    case researcher: cout << "researcher";
        break;
    }
    cout << setw(8) << s2.set.day << '/' << s2.set.month << '/' << s2.set.year << endl;
    cout << setw(3) << s3.number << setw(8) << s3.salary << setw(12);
    switch (ch3)
    {
    case 'l': s3.title = laborer; break;
    case 's': s3.title = secretary; break;
    case 'm': s3.title = manager; break;
    case 'a': s3.title = accountant; break;
    case 'e': s3.title = executive; break;
    case 'r': s3.title = researcher; break;
    }
    switch (s3.title)
    {
    case laborer: cout << "laborer";
        break;
    case secretary: cout << "secretary";
        break;
    case manager: cout << "manager";
        break;
    case accountant: cout << "accountant";
        break;
    case executive: cout << "executive";
        break;
    case researcher: cout << "researcher";
        break;
    }
    cout << setw(8) << s3.set.day << '/' << s3.set.month << '/' << s3.set.year << 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
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <ctype.h>
using namespace std;
 
struct fraction
{
    unsigned __int32 a, b;
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    fraction t1, t2;
    cout << "Введите первую дробь: ";
    cin >> t1.a >> t1.b;
    cout << "Введите вторую дробь: ";
    cin >> t2.a >> t2.b;
    cout << "Сумма равна: " << t1.a * t2.b + t1.b * t2.a << '/' << t1.b * t2.b << 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
21
22
23
24
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <conio.h>
#include <fstream>
using namespace std;
 
struct Time
{
    unsigned __int16 hours, minutes, seconds;
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    Time t1;
    cout << "Введите часы, минуты и секунды." << endl;
    cin >> t1.hours >> t1.minutes >> t1.seconds;
    cout << "Количество секунд в введенном времени равно:\n"
         << t1.hours * 3600 + t1.minutes * 60 + t1.seconds << 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
24
25
26
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <conio.h>
#include <fstream>
using namespace std;
 
struct sterling
{
    unsigned __int16 pounds, shillings, pence;
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    sterling st1;
    cout << "Введите значение суммы в десятичных фунтах:" << endl;
    double temp; cin >> temp;
    st1.pounds = temp;
    st1.shillings = (temp - st1.pounds) * 20;
    st1.pence = int((temp - st1.pounds) * 240) % 12;
    cout << st1.pounds << ' ' << st1.shillings << ' ' << st1.pence << 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
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <conio.h>
#include <fstream>
using namespace std;
 
struct Time
{
    unsigned __int16 h, m, s;
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    Time t;
    cout << "Введите значение 1-го времени:" << endl;
    cin >> t.h >> t.m >> t.s;
    unsigned __int32 tmp(t.h * 3600 + t.m * 60 + t.s);
    cout << "Введите значение 2-го времени:" << endl;
    cin >> t.h >> t.m >> t.s;
    tmp += t.h * 3600 + t.m * 60 + t.s;
    t.s = tmp % 60; tmp -= t.s;
    t.m = tmp / 60 % 60; tmp -= t.m * 60;
    t.h = (tmp / 3600 < 13) ? tmp / 3600 : tmp / 3600 % 12;
    cout << t.h << ' ' << t.m << ' ' << t.s << 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
31
32
33
34
35
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <windows.h>
using namespace std;
 
struct fraction
{
    __int32 a, b;
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    for (char ch('z'); ch != '0'; ch = getche())
    {
        if (ch != 'z') cout << endl;
        fraction t1, t2;
        cout << "Введите первую дробь, операцию и вторую дробь:" << endl;
        cin >> t1.a >> t1.b >> ch >> t2.a >> t2.b;
        switch (ch)
        {
        case '+': cout << "Результат равен:\n" << t1.a * t2.b + t1.b * t2.a << '/' << t1.b * t2.b << endl; break;
        case '-': cout << "Результат равен:\n" << t1.a * t2.b - t1.b * t2.a << '/' << t1.b * t2.b << endl; break;
        case '*': cout << "Результат равен:\n" << t1.a * t2.a << '/' << t1.b * t2.b << endl; break;
        case '/': cout << "Результат равен:\n" << t1.a * t2.b << '/' << t1.b * t2.a << endl; break;
        default: cout << "Такой операции не существует." << endl;
        }
        cout << "Повторить? (1 - да. 0 - нет.) ";
    }
    cout << endl;
    system("pause");
    return 0;
}


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