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

Структурированный в объектно-ориентированный - C++

Восстановить пароль Регистрация
Другие темы раздела
C++/CLI WinForms Получить значение TextBox->Text в переменную http://www.cyberforum.ru/cpp-beginners/thread334488.html
Нужно в переменную из техтВоха считать, как это сдлать??? у меня ругается на тип ? Какой нужен тогда тип, если не строка ? string s; s = Form1::textBox2->Text;
C++ Как создать переменную из консоли Есть функция void createStream(string filename) { OutputStreamPtr stream(OpenSound(device, filename, true)); } Нужно написать функцию, которая будет создавать поток для аудио, но только не с переменной(или как она называется) stream, а с другим названием. То бишь при первом вызове функции createStream она будет как вышеописанная, а при втором, например, void createStream(string... http://www.cyberforum.ru/cpp-beginners/thread334485.html
Найти строку в другой строке C++
#include <iostream> #include <string> #include <algorithm> using namespace std; int main() { string t("Jon"), v("Kon"); t += v;
C++ про библотеки
привет, я создал библиотеку , включил ее в свою прогу , а классы описанные в библиотеке использовать не могу, в чем подвох ? ( библиотеку находит )
C++ Точка входа http://www.cyberforum.ru/cpp-beginners/thread334417.html
Подскажите пожалуйста как найти точку входа приложения?
C++ нажатие клавиш Что можно использовать вместо getch() чтобы программа не ждала нажатия клавиши а проверяла была ли нажата клавиша (только не bioskey) подробнее

Показать сообщение отдельно
footbaler
1 / 1 / 0
Регистрация: 18.12.2010
Сообщений: 50
29.08.2011, 01:41  [ТС]     Структурированный в объектно-ориентированный
Возник очередной вопрос...
Вот код первого варианта (используя структурированный подход):
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
#include "stdafx.h"
#include <iomanip>
#include <iostream>
 
double J2(int E1, int E2, float r1, float r2, float r3)
{
    return (E1/(r1+((r2*r3)/(r2+r3))))*(r3/(r2+r3))-(E2/(r2+(r1*r3/(r1+r3))));
}
 
double J3(int E1, int E2, float r1, float r2, float r3)
{
    return (E1/(r1+((r2*r3)/(r2+r3))))*(r2/(r2+r3))+(E2/(r2+(r1*r3/(r1+r3))))*(r1/(r1+r3));
}
 
double J1(int E1, int E2, float r1, float r2, float r3)
{
    return J2(E1, E2, r1, r2, r3)+J3(E1, E2, r1, r2, r3);
}
 
int main()
{
    int v, E1, E2;
    float r1 = 30.6, r2 = 3.25, r3 = 20.57;
    setlocale(LC_ALL, "Russian");
    for(;;)
    {
        std::cout << "\n1. Таблица зависимости J1 от E1 i E2\n"
                     "2. Таблица зависимости J2 от E1 i E2\n"
                     "3. Таблица зависимости J3 от E1 i E2\n"
                     "-> ";
 
        if( !(std::cin >> v) || (v < 1) || (v > 3) ) return 0;
 
        std::system("cls");
        std::cout << "\n|---------------------------------------|\n"
                     "|   Таблица зависимости J" << v << " от E1 i E2   |\n"
                     "|---|-----------------------------------|\n"
                     "|---|---------------- E2 ---------------|\n"
                     "| E1|   15   |   20   |   25   |   30   |\n"
                     "|---|--------|--------|--------|--------|\n";
 
        std::cout.setf(std::ios::fixed);
        for(E1 = 10; E1 <= 100; E1+= 10)
        {
            std::cout << '|' << std::setw(3) << E1 << '|';
 
            for(E2 = 15; E2 <= 30; E2+= 5)
            {
                std::cout.width(8);
                switch(v)
                {
                case 1: std::cout << std::setprecision(3) << J1(E1, E2, r1, r2, r3) << '|'; break;
                case 2: std::cout << std::setprecision(3) << J2(E1, E2, r1, r2, r3) << '|'; break;
                case 3: std::cout << std::setprecision(3) << J3(E1, E2, r1, r2, r3) << '|'; break;
                }
            }
 
            std::cout << "\n|---|--------|--------|--------|--------|\n";
        }
    }
}
Вот код второго варианта (используя объектно-ориентированный подход):
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
#include "stdafx.h"
#include <iostream>
#include <iomanip>
 
class power_box {
    float r1;
    float r2;
    float r3;
    int E1;
    int E2;
public:
    double J2(int E1, int E2, float r1, float r2, float r3)
    {
        return (E1/(r1+((r2*r3)/(r2+r3))))*(r3/(r2+r3))-(E2/(r2+(r1*r3/(r1+r3))));
    };
    double J3(int E1, int E2, float r1, float r2, float r3)
    {
        return (E1/(r1+((r2*r3)/(r2+r3))))*(r2/(r2+r3))+(E2/(r2+(r1*r3/(r1+r3))))*(r1/(r1+r3));
    };
    double J1(int E1, int E2, float r1, float r2, float r3)
    {
        return J2(E1, E2, r1, r2, r3)+J3(E1, E2, r1, r2, r3);
    };
} tok;
 
int main()
{
    int v, E1, E2;
    float r1 = 30.6, r2 = 3.25, r3 = 20.57;
    setlocale(LC_ALL, "Russian");
    for(;;)
    {
        std::cout << "\n1. Таблица зависимости J1 от E1 i E2\n"
                     "2. Таблица зависимости J2 от E1 i E2\n"
                     "3. Таблица зависимости J3 от E1 i E2\n"
                     "-> ";
 
        if( !(std::cin >> v) || (v < 1) || (v > 3) ) return 0;
 
        std::system("cls");
        std::cout << "\n|---------------------------------------|\n"
                     "|   Таблица зависимости J" << v << " от E1 i E2   |\n"
                     "|---|-----------------------------------|\n"
                     "|---|---------------- E2 ---------------|\n"
                     "| E1|   15   |   20   |   25   |   30   |\n"
                     "|---|--------|--------|--------|--------|\n";
 
        std::cout.setf(std::ios::fixed);
        for(E1 = 10; E1 <= 100; E1+= 10)
        {
            std::cout << '|' << std::setw(3) << E1 << '|';
 
            for(E2 = 15; E2 <= 30; E2+= 5)
            {
                std::cout.width(8);
                switch(v)
                {
                case 1: std::cout << std::setprecision(3) << tok.J1(E1, E2, r1, r2, r3) << '|'; break;
                case 2: std::cout << std::setprecision(3) << tok.J2(E1, E2, r1, r2, r3) << '|'; break;
                case 3: std::cout << std::setprecision(3) << tok.J3(E1, E2, r1, r2, r3) << '|'; break;
                }
            }
 
            std::cout << "\n|---|--------|--------|--------|--------|\n";
        }
    }
}
Тут я просто добавил класс, и в него занес функции, все остальное осталось прежним. Так надо было сделать, это считается объектно-ориентированный подход, или я не правильно мыслю? Ну и может я где, чего, неправильно объявил, написал, говорите не стесняйтесь!:-)
Спасибо.
 
Текущее время: 17:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru