С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 18.01.2017
Сообщений: 17

От числа в Edit меняется количество формул

18.01.2017, 17:49. Показов 1449. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте подскажите пожалуйста есть такой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 double n, m, u, t, M, a, p0, potk, loh, lsist, tsist, toh;
{
    n = StrToInt(Edit1->Text);
    m = StrToInt(Edit2->Text);
    u = StrToInt(Edit3->Text);
    t = StrToInt(Edit4->Text);
 
    M = 60/t;
    Edit5->Text = FloatToStr( M );
    a = u/M;
    Edit6->Text = FloatToStr( a );
}
}
Нужно написать код для n если в Edit1 вести цифру 5 то должно быть 5 вот таких формул:
P1 = a/1!
P2 = a^2/2!
P3 = a^3/3!
P4 = a^4/4!
P5 = a^5/5!
Если допусти ведена цифра 3 то 3 формулы.
Какая по счету формула тоже число в степени и на тоже число делится.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.01.2017, 17:49
Ответы с готовыми решениями:

Математический ввод формул в Edit
Здравствуйте, я раньше использовал этот математический ввод формул в Edit, он он очень хорош, но появилось потребность добавить туда свои...

Ввод формул с Edit или альтернатива
В общем нужно считать формулу с Edit, или может есть какие-то иные способы/классы для ввода математических формул? Посоветуйте пожалуйста. ...

Изменить количество итераций графика путем ввода числа в edit?
Кол-во итераций графика задано в коде как NMAX=100. Оно влияет на продолжительность рисования графика. Как мне сделать так, чтобы можно...

21
4 / 4 / 1
Регистрация: 06.05.2013
Сообщений: 86
19.01.2017, 16:10
switch в помощь
0
0 / 0 / 0
Регистрация: 18.01.2017
Сообщений: 17
19.01.2017, 18:11  [ТС]
более-менее разобрался со switch понял как сделать, единственное не знаю как сделать чтоб с Edit числа шли в switch подскажите пожалуйста.
0
+1
345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
19.01.2017, 19:12
switch (StrToInt(Edit1->Text))
1
0 / 0 / 0
Регистрация: 18.01.2017
Сообщений: 17
20.01.2017, 06:20  [ТС]
Пишет ошибка на case
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void __fastcall TForm1::Button1Click(TObject *Sender)
{
using namespace std;
 double n, m, u, t, M, a, p0, potk, loh, lsist, tsist, toh;
{
    n = StrToInt(Edit1->Text);
    m = StrToInt(Edit2->Text);
    u = StrToInt(Edit3->Text);
    t = StrToInt(Edit4->Text);
 
    M = 60/t;
    Edit5->Text = FloatToStr( M );
    a = u/M;
    Edit6->Text = FloatToStr( a );
    switch (StrToInt(Edit1->Text));
    {
        case 2: 23+a;
 
    }
}
}
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
20.01.2017, 08:15
Мне кажется не хватает default, ну и break для прерывания. Еще кажется что лишние фигурные скобки в коде. (не проверял ваш код )
0
0 / 0 / 0
Регистрация: 18.01.2017
Сообщений: 17
20.01.2017, 08:51  [ТС]
Все ровно выдает ошибку в case
0
Модератор
 Аватар для D1973
9908 / 6445 / 2455
Регистрация: 21.01.2014
Сообщений: 27,363
Записей в блоге: 3
20.01.2017, 12:05
Hivoclaim, конструкция switch() не закрывается точкой с запятой!
C++
1
2
3
4
5
switch(Edit1->Text.ToInt())
{
   case 1 : \*тут твои действия*\; break;
   case 2 : \*тут твои действия*\; break;
}
Добавлено через 6 минут
Цитата Сообщение от Hivoclaim Посмотреть сообщение
Какая по счету формула тоже число в степени и на тоже число делится.
Цитата Сообщение от Hivoclaim Посмотреть сообщение
P2 = a^2/2!
Судя по формуле, делится не "на то же число", а на факториал того же числа...
И зачем там куча переменных, если достаточно одного динамического массива? Или вектора...
1
 Аватар для lifeforce
266 / 211 / 89
Регистрация: 27.09.2010
Сообщений: 1,234
20.01.2017, 18:58
Hivoclaim,
еще можно чтоб не было каких либо проблем с введенными данными
C++
1
2
3
4
    n = StrToInt(Edit1->Text);
    m = StrToInt(Edit2->Text);
    u = StrToInt(Edit3->Text);
    t = StrToInt(Edit4->Text);
изменить на
C++
1
2
3
4
    TryStrToInt(Edit1->Text,n);
    TryStrToInt(Edit2->Text,m);
    TryStrToInt(Edit3->Text,u);
    TryStrToInt(Edit4->Text,t);
может тогда не будет ошибки в case
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
21.01.2017, 21:48
Hivoclaim, у тебя эти числа обьявлены как double.
Если это цифры, то нужно int, тем более через switch
0
0 / 0 / 0
Регистрация: 18.01.2017
Сообщений: 17
22.01.2017, 16:12  [ТС]
Как теперь вывести ответ на Edit7
C++
1
2
3
4
5
6
7
8
switch (StrToInt(Edit1->Text))
    {
        case 2: 23+a;
        break;
        Edit7->Text = FloatToStr;
 
    }
}
Бет ошибку
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
22.01.2017, 17:23
Не плохо бы указывать текст ошибки
На коленке:
C++
1
2
3
4
5
switch (StrToInt(Edit1->Text))
{
        case 2: Edit7->Text = FloatToStr(23+a);
        break; 
}
0
0 / 0 / 0
Регистрация: 18.01.2017
Сообщений: 17
22.01.2017, 18:16  [ТС]
Не поможете с еще одним вопросом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __fastcall TForm1::Button1Click(TObject *Sender)
{
using namespace std;
 double n, m, u, t, M, a, p0, potk, loh, lsist, tsist, toh,P=2,P1,P3=3,P4=4,P5=5;
{
    n = StrToInt(Edit1->Text);
    m = StrToInt(Edit2->Text);
    u = StrToInt(Edit3->Text);
    t = StrToInt(Edit4->Text);
 
    M = 60/t;
    Edit5->Text = FloatToStr( M );
    a = u/M;
    Edit6->Text = FloatToStr( a );
    P1 = (1+a+(pow(a,P))+(pow(a,P3))+(pow(a,P4))+(pow(a,P5));
    Edit8->Text = FloatToStr( P1 );
Бет ошибку на строчке P1
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
22.01.2017, 18:19
Цитата Сообщение от Hivoclaim Посмотреть сообщение
Не поможете с еще одним вопросом
Код необходимо оформлять положенным образом
Как уже и писал, нужно приводить текст ошибки
И почему вы выкладываете отрывок кода? Зачем лишнюю открывающую скобку поставили ?
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
22.01.2017, 22:47
одну скобку в конце забыл
C++
1
P1 = (1+a+(pow(a,P))+(pow(a,P3))+(pow(a,P4))+(pow(a,P5)));
P.S. Лучше сказать номер строки с ошибкой, так легче понять
1
0 / 0 / 0
Регистрация: 18.01.2017
Сообщений: 17
23.01.2017, 12:44  [ТС]
Подскажите можно ли сделать что switch зависел не только от Edit1 но и от Edit2,

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
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
using namespace std;
 double n, m, u, t, M, a, p0, potk, loh, lsist, tsist, toh,P100=2,P101=3,P102=4,P103=5,P104=6,P20,P21,P22=-1,P23;
 double P24,P25,P26,P27,P28,P29,P30,P31;
{
    n = StrToInt(Edit1->Text);
    m = StrToInt(Edit2->Text);
    u = StrToInt(Edit3->Text);
    t = StrToInt(Edit4->Text);
 
    M = 60/t;
    Edit5->Text = FloatToStr( M );
    a = u/M;
    Edit6->Text = FloatToStr( a );
    P20 = (pow(a,P100))/2;
    P23 = (pow(a,P101))/6;
    P24 = (pow(a,P102))/24;
    P25 = (pow(a,P103))/120;
    P26 = (pow(a,P104));
    P27 = 1-a/5;
    P28 = (pow(P27,P100));
    P29 = 5*120*P27;
    P30 = 1+a+P20+P23+P24+P25+P26*P28/P29;
    P31 = (pow(P30,P22));
 
switch (StrToInt(Edit1->Text))
{
        case 5: Edit7->Text = FloatToStr(P31);
        break;
}
}
}
Тесть я хочу чтоб этот ответ выдавался только тогда когда в Edit1 будет написана 5 а в Edit2 2
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
23.01.2017, 12:59
Цитата Сообщение от Hivoclaim Посмотреть сообщение
Подскажите можно ли сделать что switch зависел не только от Edit1 но и от Edit2,
Добавить в код условие и обработку его выполнения.
0
0 / 0 / 0
Регистрация: 18.01.2017
Сообщений: 17
23.01.2017, 13:04  [ТС]
Цитата Сообщение от Почтальон Посмотреть сообщение
Добавить в код условие и обработку его выполнения.
А проста к switch (StrToInt(Edit1->Text)) нельзя дописать (StrToInt(Edit2->Text))
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
23.01.2017, 13:16
Цитата Сообщение от Hivoclaim Посмотреть сообщение
А проста к switch (StrToInt(Edit1->Text)) нельзя дописать (StrToInt(Edit2->Text))
Конечно нельзя , а вот если сначала сделать переменную, и в зависимости от эдитов присваивать ей целочисленное значение, тогда можно и конструкцию switch использовать. А можно так же и через условия.
0
0 / 0 / 0
Регистрация: 18.01.2017
Сообщений: 17
23.01.2017, 13:55  [ТС]
Цитата Сообщение от Почтальон Посмотреть сообщение
Конечно нельзя , а вот если сначала сделать переменную, и в зависимости от эдитов присваивать ей целочисленное значение, тогда можно и конструкцию switch использовать. А можно так же и через условия.
Если не трудно можешь код написать проста только начале в c++ разбираться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.01.2017, 13:55
Помогаю со студенческими работами здесь

Цвет фона и текста в EDIT не меняется
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch(message) { case WM_CREATE: { ...

Двузначные числа, сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8,9.
1Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8,9. помогите пожалста!

Найти двухзначные числа, сумма которых при умножение не меняется числа на 2, 3, 4
1.Найти двухзначные числа, сумма которых при умножение не меняется числа на 2,3,4,5,6,7,8,9. 2.Повышенная сложность: Определить...

Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2
Найти все двузначные числа ,сумма цифр которых не меняется при умножении числа на 2. для нахождения суммы цифр описать функцию

Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2, 3, 4
Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8,9.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru