Форум программистов, компьютерный форум 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
=^_^=
562 / 449 / 94
Регистрация: 27.01.2015
Сообщений: 2,622
Записей в блоге: 1
Завершенные тесты: 1
03.02.2015, 18:59
Глава 5


Номер 1

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <iomanip>
#include <cmath>
#include <windows.h>
using namespace std;
 
inline float circarea(const float& rad)
{
    return rad * rad * 3.1415;
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Введите значение радиуса круга:" << endl;
    float rad; cin >> rad;
    cout << "Площадь круга равна: " << circarea(rad) << 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
25
26
27
28
29
#include <iostream>
#include <iomanip>
#include <cmath>
#include <windows.h>
using namespace std;
 
double power(double n, unsigned __int16 p = 2)
{
    switch (p)
    {
    case 0:
        return 1; break;
    default:
        for (double i(1), j(n); i < p; i++)
            n *= j;
    }
    return n;
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Введите число и степень:" << endl;
    double n; unsigned __int16 p; cin >> n >> p;
    cout << "Результат равен: " << power(n, p) << 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
#include <iostream>
#include <iomanip>
#include <cmath>
#include <windows.h>
using namespace std;
 
void zeroSmaller(__int32& a, __int32& b)
{
    if (a < b)
        a = 0;
    else if (a > b)
        b = 0;
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Введите 2 целых числа: ";
    __int32 a, b; cin >> a >> b; zeroSmaller(a, b);
    cout << a << ' ' << b << 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
33
34
35
36
37
38
39
40
#include <iostream>
#include <iomanip>
#include <cmath>
#include <windows.h>
using namespace std;
 
struct Distance
{
    unsigned __int32 feet;
    float inches;
};
 
Distance func(const Distance& a, const Distance& b)
{
    if (a.feet > b.feet)
        return a;
    else if (a.feet < b.feet)
        return b;
    else if (a.inches > b.inches)
        return a;
    else if (a.inches < b.inches)
        return b;
    return a;
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    Distance a, b, c;
    cout << "Введите длину №1:" << endl;
    cin >> a.feet >> a.inches;
    cout << "Введите длину №2:" << endl;
    cin >> b.feet >> b.inches;
    c = func(a, b);
    cout << "Наибольшая длина равна:\n"
         << c.feet << ' ' << c.inches << 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
24
25
26
27
#include <iostream>
#include <iomanip>
#include <cmath>
#include <conio.h>
#include <windows.h>
using namespace std;
 
inline unsigned __int32 hms_to_secs(const unsigned __int16& h, const unsigned __int16& m, const unsigned __int16& s)
{
    return h * 3600 + m * 60 + s;
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    for (char ch('z'); ch != 0; ch = getche())
    {
        if (ch != 'z') cout << "\n\n";
        cout << "Введите часы, минуты и секунды:" << endl;
        unsigned __int16 h, m, s; cin >> h >> m >> s;
        cout << "Результат в секундах равен : " << hms_to_secs(h, m, s)
             << "\nПовторить? (1 - да. 0 - нет.) ";
    }
    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
#include <iostream>
#include <iomanip>
#include <cmath>
#include <conio.h>
#include <windows.h>
using namespace std;
 
struct Time
{
    unsigned __int16 h, m, s;
};
 
inline unsigned __int32 time_to_secs(const Time& tmp)
{
    return tmp.h * 3600 + tmp.m * 60 + tmp.s;
}
 
inline Time secs_to_time(unsigned __int32 tmp)
{
    Time temp;
    temp.s = tmp % 60; tmp -= temp.s;
    temp.m = tmp / 60 % 60; tmp -= temp.m * 60;
    temp.h = (tmp / 3600 < 13) ? tmp / 3600 : tmp / 3600 % 12;
    return temp;
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    Time t1;
    cout << "Введите часы, минуты и секунды:" << endl;
    cin >> t1.h >> t1.m >> t1.s;
    unsigned __int32 temp(time_to_secs(t1));
    t1 = secs_to_time(temp);
    cout << "\nВы ввели:\n"
         << t1.h << ' ' << t1.m << ' ' << t1.s << '\n' << 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
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
#include <iostream>
#include <iomanip>
#include <cmath>
#include <windows.h>
using namespace std;
 
double power(double n, unsigned __int16 p = 2)
{
    switch (p)
    {
    case 0:
        return 1; break;
    default:
        for (double i(1), j(n); i < p; i++)
            n *= j;
    }
    return n;
}
 
double power(char n, unsigned __int16 p = 2)
{
    double temp(n - '0');
    switch (p)
    {
    case 0:
        return 1; break;
    default:
        for (double i(1); i < p; i++)
            temp *= n - '0';
        return temp;
    }
}
 
double power(__int16 n, unsigned __int16 p = 2)
{
    double temp(n);
    switch (p)
    {
    case 0:
        return 1; break;
    default:
        for (double i(1); i < p; i++)
            temp *= n;
        return temp;
    }
}
 
double power(__int32 n, unsigned __int16 p = 2)
{
    double temp(n);
    switch (p)
    {
    case 0:
        return 1; break;
    default:
        for (double i(1); i < p; i++)
            temp *= n;
        return temp;
    }
}
 
double power(float n, unsigned __int16 p = 2)
{
    double temp(n);
    switch (p)
    {
    case 0:
        return 1; break;
    default:
        for (double i(1); i < p; i++)
            temp *= n;
        return temp;
    }
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char ch('2');
    __int16 a(2), st; __int32 b(2);
    float c(2); double d(2);
    cout << "Введите степень числа: "; cin >> st;
    cout << "\nChar = " << power(ch, st) << endl;
    cout << "Short = " << power(a, st) << endl;
    cout << "Long = " << power(b, st) << endl;
    cout << "Float = " << power(c, st) << endl;
    cout << "Double = " << power(d, st) << '\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
#include <iostream>
#include <iomanip>
#include <cmath>
#include <windows.h>
using namespace std;
 
void swap(__int32& a, __int32& b)
{
    __int32 tmp(a);
    a = b;
    b = tmp;
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Введите 2 целых числа:" << endl;
    __int32 a, b; cin >> a >> b;
    swap(a, b);
    cout << a << ' ' << 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
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <iomanip>
#include <cmath>
#include <windows.h>
using namespace std;
 
struct Time
{
    unsigned __int16 h, m, s;
};
 
void swap(Time& a, Time& b)
{
    Time tmp(a);
    a = b;
    b = tmp;
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    Time a, b;
    cout << "Введите 1-ое время:" << endl;
    cin >> a.h >> a.m >> a.s;
    cout << "Введите 2-ое время:" << endl;
    cin >> b.h >> b.m >> b.s;
    swap(a, b);
    cout << '\n' << a.h << ' ' << a.m << ' ' << a.s << endl;
    cout << b.h << ' ' << b.m << ' ' << b.s << '\n' <<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
27
#include <iostream>
#include <iomanip>
#include <cmath>
#include <windows.h>
#include <conio.h>
using namespace std;
 
void func()
{
    static unsigned __int16 count;
    cout << ++count << " раз(а).";
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    for (char ch('z'); ch != '0'; ch=getch())
    {
        if (ch != 'z') cout << '\n' << endl;
        cout << "Функция была вызвана "; func();
        cout << "\nПовторить? (1 - да. 0 - нет.) ";
    }
    cout << 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
#include <iostream>
#include <iomanip>
#include <cmath>
#include <windows.h>
#include <conio.h>
using namespace std;
 
struct sterling
{
    unsigned __int16 pounds, shillings, pence;
};
 
sterling func1(void)
{
    static __int16 count;
    sterling tmp;
    cout << "Введите сумму №" << ++count << " в фунтах, шиллингах и пенсах." << endl;
    cin >> tmp.pounds >> tmp.shillings >> tmp.pence;
    return tmp;
}
 
sterling func2(const sterling& a, const sterling& b)
{
    sterling tmp = { 0, 0, 0 };
    if (a.pence + b.pence < 12)
        tmp.pence = a.pence + b.pence;
    else
    {
        tmp.shillings = (a.pence + b.pence) / 12;
        tmp.pence = (a.pence + b.pence) % 12;
    }
    if (tmp.shillings + a.shillings + b.shillings < 20)
        tmp.shillings += a.shillings + b.shillings;
    else
    {
        tmp.pounds = (tmp.shillings + a.shillings + b.shillings) / 20;
        tmp.shillings = (tmp.shillings + a.shillings + b.shillings) % 20;
    }
    tmp.pounds += a.pounds + b.pounds;
    return tmp;
}
 
inline void func3(const sterling& tmp)
{
    cout << "Результат равен:" << endl;
    cout << tmp.pounds << ' ' << tmp.shillings << ' ' << tmp.pence << endl;
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    sterling t1, t2;
    t1 = func1(); t2 = func1();
    t1 = func2(t1, t2);
    func3(t1);
    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
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
#include <iostream>
#include <iomanip>
#include <cmath>
#include <windows.h>
#include <conio.h>
using namespace std;
 
struct fraction
{
    __int32 a, b;
};
 
fraction fadd(const fraction& t1, const fraction& t2)
{
    fraction tmp;
    tmp.a = t1.a * t2.b + t1.b * t2.a;
    tmp.b = t1.b * t2.b;
    return tmp;
}
 
fraction fsub(const fraction& t1, const fraction& t2)
{
    fraction tmp;
    tmp.a = t1.a * t2.b - t1.b * t2.a;
    tmp.b = t1.b * t2.b;
    return tmp;
}
 
fraction fmul(const fraction& t1, const fraction& t2)
{
    fraction tmp;
    tmp.a = t1.a * t2.a;
    tmp.b = t1.b * t2.b;
    return tmp;
}
 
fraction fdiv(const fraction& t1, const fraction& t2)
{
    fraction tmp;
    tmp.a = t1.a * t2.b;
    tmp.b = t1.b * t2.a;
    return tmp;
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    for (char ch('z'); ch != '0'; ch = getche())
    {
        if (ch != 'z') cout << '\n' << endl;
        fraction t1, t2;
        cout << "Введите первую дробь, операцию и вторую дробь:" << endl;
        cin >> t1.a >> t1.b >> ch >> t2.a >> t2.b;
        switch (ch)
        {
        case '+':
            t1 = fadd(t1, t2);
            cout << "Результат равен:\n" << t1.a << '/' << t1.b << endl;
            break;
        case '-':
            t1 = fsub(t1, t2);
            cout << "Результат равен:\n" << t1.a << '/' << t1.b << endl;
            break;
        case '*':
            t1 = fmul(t1, t2);
            cout << "Результат равен:\n" << t1.a << '/' << t1.b << endl;
            break;
        case '/':
            t1 = fdiv(t1, t2);
            cout << "Результат равен:\n" << t1.a << '/' << t1.b << endl;
            break;
        default: cout << "Такой операции не существует." << endl;
        }
        cout << "Повторить? (1 - да. 0 - нет.) ";
    }
    cout << '\n' << endl;
    system("pause");
    return 0;
}


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