Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как собрать этот проект? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ошибка в чем то http://www.cyberforum.ru/cpp-beginners/thread1034519.html
#include <stdio.h> #include <stdlib.h> int main() { int a,b,c; print("b? "); scanf("%d",&b); print("c? "); scanf("%d",&c);
C++ Деревья Всем добрый день! Имеется такое задание : а) вставляет узел с записью Е в дерево, если ранее такой не было; b)... http://www.cyberforum.ru/cpp-beginners/thread1034517.html
C++ Использование функций
Очень нужна помощь. Помогите пожалуйста разобраться. Я уже не представляю что делать, подскажите пожалуйста. Во время запуска программы, вторую функцию не выполняет. Вот суть задания: 1....
Сортировка массива с использованием <pthread.h> C++
Доброго дня! Кто может помочь переделать задачу. Данный вариант работает только, когда число потоков является степенью двойки. Нужно сделать, чтобы работало с любым числом потоков. Заранее...
C++ Посчитать значение уравнения http://www.cyberforum.ru/cpp-beginners/thread1034469.html
Задача: Найти Y, если Y = X1 + X2 + … + Xn, X = Z^3 - B + A^2 / tg^2Betta . Количество X вводятся пользователем программы. Для каждого X значения Z, B, А, Betta разные (вводятся пользователем...
C++ Подсчитать количество простых чисел в последовательности, больших заданного числа М Всем привет)) помогите разработать программу С++! Тема: Одномерные массивы. Разработать программу на языке программирования согласно Вашему варианту. Дан массив из N целых чисел, где N<=16,... подробнее

Показать сообщение отдельно
Heusake94
0 / 0 / 0
Регистрация: 30.11.2013
Сообщений: 11

Как собрать этот проект? - C++

09.12.2013, 17:15. Просмотров 376. Ответов 5
Метки (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* user_data.h */
#ifndef _USER_DATA_H_
#define _USER_DATA_H_
 
class user_data {
    public:
        void get_data_from_user();
        void user_data_is_valid();
    protected:
        double *function;
        double *fm;
        double **system;
        int *sign;
        int num_v;
        int num_l;
        bool way;
};
 
#endif /* _USER_DATA_H_ */

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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
/* user_data.cpp */
#include <iostream>
#include <string>
#include <cstdlib>
 
#include "user_data.h"
 
using std::cout;
using std::cin;
using std::endl;
using std::string;
 
void error(int err_no)
{
    switch(err_no) {
        case 0:
            cout << "\nВы ввели некорректное значение.\n" << endl;
            break;
        case 1:
            cout << "\nВы не можете задать менее двух ограничений.\n" << endl;
            break;
        case 2:
            cout << "\nВы не можете задать больше 500 ограничений.\n" << endl;
            break;
        case 3:
            cout << "\nВы не можете задать менее двух переменных.\n" << endl;
            break;
        case 4:
            cout << "\nВы не можете задать более 500 уравнений.\n" << endl;
            break;
    }
}
 
void user_data::get_data_from_user()
{
    string num_limits, num_vars, s_var, fr_m, sn, func, w;
    int i, j;
    bool validator = false;
 
    do {
        cout << "Введите количество ограничений в системе: ";
        getline(cin, num_limits);
        if (atoi(num_limits.c_str()) < 2)
            error(1);
        else if (atoi(num_limits.c_str()) > 500)
            error(2);
        else
            validator = true;
 
    } while (!validator);
 
    num_l = atoi(num_limits.c_str());
    validator = false;
 
    do {
        cout << "Введите количество переменных в системе ограничений: ";
        getline(cin, num_vars);
    if (atoi(num_vars.c_str()) < 2) 
        error(3);
    else if (atoi (num_vars.c_str()) > 500)
        error(4);
    else
        validator = true;
    } while (!validator);
 
    num_v = atoi(num_vars.c_str());
    validator = false;
 
    function = new double [num_v];
    system = new double *[num_l];
    for (i = 0; i < num_l; i++)
        system[i] = new double [num_v];
    fm = new double [num_l];
    sign = new int [num_l];
 
    cout << "\nЗаполните коэффициенты при целевой функции.\n" << endl;
 
    for (i = 0; i < num_v; i++) {
        do {
            cout << "Введите коэффициент целевой фукнции при x" << i + 1 << ": ";
            getline(cin, func);
            if (atof(func.c_str()) == 0)
                error(0);
            else {
                validator = true;
                function[i] = atof(func.c_str());
            }
        } while (!validator);
        validator = false;
    }
 
    do {
        cout << "Введите направление целевой функции ( min, max ) : ";
        getline(cin, w);
        if (w == "max" || w == "MAX" || w == "min" || w == "MIN") {
            validator = true;
            if (w == "max" || w == "MAX")
                way = true;
            else
                way = false;
        }
        else
            error (0);
 
    } while (!validator);
    cout << "\nЗаполните систему ограничений.\n" << endl;
 
    for (i = 0; i < num_l; i++) {
        cout << "Заполните " << i + 1 << "-е ограничение.\n" << endl;
        for (j = 0; j < num_v; j++) {
            do {
                cout << "Введите коэффициэнт при x" << j + 1 << ": ";
                getline(cin, s_var);
                if (atof(s_var.c_str()) == 0)
                    error (0);
                else {
                    validator = true;
                }
            } while (!validator);
            system[i][j] = atof(s_var.c_str());
            validator = false;
        }
 
        do {
            cout << "Введите знак при " << i + 1 << "-м ограничении ( <=, =, >= ) : ";
            getline(cin, sn);
            if (sn == "<=" || sn == "=" || sn == ">=") {
                validator = true;
                if (sn == "<=")
                    sign[i] = 0;
                if (sn == "=")
                    sign[i] = 1;
                if (sn == ">=") 
                    sign[i] = 2;
                }
            else
                error(0);
            cout << sign[i] << endl;
        } while (!validator);
 
        validator = false;
 
        do {
            cout << "Введите свободный член при " << i + 1 << "-м ограничении: ";
            getline(cin, fr_m);
            if (atof(fr_m.c_str()) == 0)
                error(0);
            else
                validator = true;
        } while (!validator);
 
        fm[i] = atof(fr_m.c_str());
        validator = false;
 
        cout << endl;
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.