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

Посоветуйте как оптимизировать данный код

14.12.2010, 10:07. Показов 847. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такой код. Подскажите как его оптимизировать: т.е. сделать не таким "громадным". На главной форме выбираются параметры кабеля из комбобоксов. 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
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
if(Form1->ComboBox3->ItemIndex == 0) // 6-10 кВ
 {
 if(Form1->ComboBox1->ItemIndex == 0) // Cu - медь
 {
 if(Form1->ComboBox2->ItemIndex == 0){Rcab=0.387f;Xcab=0.127f;}//50 мм2
 if(Form1->ComboBox2->ItemIndex == 1){Rcab=0.268f;Xcab=0.119f;}//70 мм2
 if(Form1->ComboBox2->ItemIndex == 2){Rcab=0.193f;Xcab=0.112f;}//95 мм2
 if(Form1->ComboBox2->ItemIndex == 3){Rcab=0.153f;Xcab=0.108f;}//120 мм2
 if(Form1->ComboBox2->ItemIndex == 4){Rcab=0.124f;Xcab=0.103f;}//150 мм2
 if(Form1->ComboBox2->ItemIndex == 5){Rcab=0.0991f;Xcab=0.099f;}//185 мм2
 if(Form1->ComboBox2->ItemIndex == 6){Rcab=0.0754f;Xcab=0.094f;}//240 мм2
 if(Form1->ComboBox2->ItemIndex == 7){Rcab=0.0601f;Xcab=0.091f;}//300 мм2
 if(Form1->ComboBox2->ItemIndex == 8){Rcab=0.0470f;Xcab=0.088f;}//400 мм2
 if(Form1->ComboBox2->ItemIndex == 9){Rcab=0.0366f;Xcab=0.085f;}//500 мм2
 if(Form1->ComboBox2->ItemIndex == 10){Rcab=0.0280f;Xcab=0.083f;}//630 мм2
 if(Form1->ComboBox2->ItemIndex == 11){Rcab=0.0221f;Xcab=0.081f;}//800 мм2
 }
 if(Form1->ComboBox1->ItemIndex == 1) // Al - алюминий
 {
 if(Form1->ComboBox2->ItemIndex == 0){Rcab=0.641f;Xcab=0.127f;}//50 мм2
 if(Form1->ComboBox2->ItemIndex == 1){Rcab=0.443f;Xcab=0.119f;}//70 мм2
 if(Form1->ComboBox2->ItemIndex == 2){Rcab=0.320f;Xcab=0.112f;}//95 мм2
 if(Form1->ComboBox2->ItemIndex == 3){Rcab=0.253f;Xcab=0.108f;}//120 мм2
 if(Form1->ComboBox2->ItemIndex == 4){Rcab=0.206f;Xcab=0.103f;}//150 мм2
 if(Form1->ComboBox2->ItemIndex == 5){Rcab=0.164f;Xcab=0.099f;}//185 мм2
 if(Form1->ComboBox2->ItemIndex == 6){Rcab=0.125f;Xcab=0.094f;}//240 мм2
 if(Form1->ComboBox2->ItemIndex == 7){Rcab=0.100f;Xcab=0.091f;}//300 мм2
 if(Form1->ComboBox2->ItemIndex == 8){Rcab=0.0778f;Xcab=0.088f;}//400 мм2
 if(Form1->ComboBox2->ItemIndex == 9){Rcab=0.0605f;Xcab=0.085f;}//500 мм2
 if(Form1->ComboBox2->ItemIndex == 10){Rcab=0.0464f;Xcab=0.083f;}//630 мм2
 if(Form1->ComboBox2->ItemIndex == 11){Rcab=0.0367f;Xcab=0.081f;}//800 мм2
 }
}
if(Form1->ComboBox3->ItemIndex == 1) // 20 кВ
{
 if(Form1->ComboBox1->ItemIndex == 0) // Cu - Медь
 {
 if(Form1->ComboBox2->ItemIndex == 0){Rcab=0.387f;Xcab=0.143f;}//50 мм2
 if(Form1->ComboBox2->ItemIndex == 1){Rcab=0.268f;Xcab=0.134f;}//70 мм2
 if(Form1->ComboBox2->ItemIndex == 2){Rcab=0.193f;Xcab=0.127f;}//95 мм2
 if(Form1->ComboBox2->ItemIndex == 3){Rcab=0.153f;Xcab=0.122f;}//120 мм2
 if(Form1->ComboBox2->ItemIndex == 4){Rcab=0.124f;Xcab=0.116f;}//150 мм2
 if(Form1->ComboBox2->ItemIndex == 5){Rcab=0.0991f;Xcab=0.112f;}//185 мм2
 if(Form1->ComboBox2->ItemIndex == 6){Rcab=0.0754f;Xcab=0.107f;}//240 мм2
 if(Form1->ComboBox2->ItemIndex == 7){Rcab=0.0601f;Xcab=0.103f;}//300 мм2
 if(Form1->ComboBox2->ItemIndex == 8){Rcab=0.0470f;Xcab=0.097f;}//400 мм2
 if(Form1->ComboBox2->ItemIndex == 9){Rcab=0.0366f;Xcab=0.093f;}//500 мм2
 if(Form1->ComboBox2->ItemIndex == 10){Rcab=0.0280f;Xcab=0.090f;}//630 мм2
 if(Form1->ComboBox2->ItemIndex == 11){Rcab=0.0221f;Xcab=0.087f;}//800 мм2
 }
 if(Form1->ComboBox1->ItemIndex == 1) // Al - алюминий
 {
 if(Form1->ComboBox2->ItemIndex == 0){Rcab=0.641f;Xcab=0.143f;}//50 мм2
 if(Form1->ComboBox2->ItemIndex == 1){Rcab=0.443f;Xcab=0.134f;}//70 мм2
 if(Form1->ComboBox2->ItemIndex == 2){Rcab=0.320f;Xcab=0.127f;}//95 мм2
 if(Form1->ComboBox2->ItemIndex == 3){Rcab=0.253f;Xcab=0.122f;}//120 мм2
 if(Form1->ComboBox2->ItemIndex == 4){Rcab=0.206f;Xcab=0.116f;}//150 мм2
 if(Form1->ComboBox2->ItemIndex == 5){Rcab=0.164f;Xcab=0.112f;}//185 мм2
 if(Form1->ComboBox2->ItemIndex == 6){Rcab=0.125f;Xcab=0.107f;}//240 мм2
 if(Form1->ComboBox2->ItemIndex == 7){Rcab=0.100f;Xcab=0.103f;}//300 мм2
 if(Form1->ComboBox2->ItemIndex == 8){Rcab=0.0778f;Xcab=0.097f;}//400 мм2
 if(Form1->ComboBox2->ItemIndex == 9){Rcab=0.0605f;Xcab=0.093f;}//500 мм2
 if(Form1->ComboBox2->ItemIndex == 10){Rcab=0.0464f;Xcab=0.090f;}//630 мм2
 if(Form1->ComboBox2->ItemIndex == 11){Rcab=0.0367f;Xcab=0.087f;}//800 мм2
 }
}
if(Form1->ComboBox3->ItemIndex == 2) // 35 кВ
{
 if(Form1->ComboBox1->ItemIndex == 0) // Cu - Медь
 {
 if(Form1->ComboBox2->ItemIndex == 0){Rcab=0.387f;Xcab=0.156f;}//50 мм2
 if(Form1->ComboBox2->ItemIndex == 1){Rcab=0.268f;Xcab=0.146f;}//70 мм2
 if(Form1->ComboBox2->ItemIndex == 2){Rcab=0.193f;Xcab=0.139f;}//95 мм2
 if(Form1->ComboBox2->ItemIndex == 3){Rcab=0.153f;Xcab=0.133f;}//120 мм2
 if(Form1->ComboBox2->ItemIndex == 4){Rcab=0.124f;Xcab=0.127f;}//150 мм2
 if(Form1->ComboBox2->ItemIndex == 5){Rcab=0.0991f;Xcab=0.122f;}//185 мм2
 if(Form1->ComboBox2->ItemIndex == 6){Rcab=0.0754f;Xcab=0.117f;}//240 мм2
 if(Form1->ComboBox2->ItemIndex == 7){Rcab=0.0601f;Xcab=0.113f;}//300 мм2
 if(Form1->ComboBox2->ItemIndex == 8){Rcab=0.0470f;Xcab=0.106f;}//400 мм2
 if(Form1->ComboBox2->ItemIndex == 9){Rcab=0.0366f;Xcab=0.102f;}//500 мм2
 if(Form1->ComboBox2->ItemIndex == 10){Rcab=0.0280f;Xcab=0.098f;}//630 мм2
 if(Form1->ComboBox2->ItemIndex == 11){Rcab=0.0221f;Xcab=0.094f;}//800 мм2
 }
 if(Form1->ComboBox1->ItemIndex == 1) // Al - алюминий
 {
 if(Form1->ComboBox2->ItemIndex == 0){Rcab=0.641f;Xcab=0.156f;}//50 мм2
 if(Form1->ComboBox2->ItemIndex == 1){Rcab=0.443f;Xcab=0.146f;}//70 мм2
 if(Form1->ComboBox2->ItemIndex == 2){Rcab=0.320f;Xcab=0.139f;}//95 мм2
 if(Form1->ComboBox2->ItemIndex == 3){Rcab=0.253f;Xcab=0.133f;}//120 мм2
 if(Form1->ComboBox2->ItemIndex == 4){Rcab=0.206f;Xcab=0.127f;}//150 мм2
 if(Form1->ComboBox2->ItemIndex == 5){Rcab=0.164f;Xcab=0.122f;}//185 мм2
 if(Form1->ComboBox2->ItemIndex == 6){Rcab=0.125f;Xcab=0.117f;}//240 мм2
 if(Form1->ComboBox2->ItemIndex == 7){Rcab=0.100f;Xcab=0.113f;}//300 мм2
 if(Form1->ComboBox2->ItemIndex == 8){Rcab=0.0778f;Xcab=0.106f;}//400 мм2
 if(Form1->ComboBox2->ItemIndex == 9){Rcab=0.0605f;Xcab=0.102f;}//500 мм2
 if(Form1->ComboBox2->ItemIndex == 10){Rcab=0.0464f;Xcab=0.098f;}//630 мм2
 if(Form1->ComboBox2->ItemIndex == 11){Rcab=0.0367f;Xcab=0.094;}//800 мм2
 }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.12.2010, 10:07
Ответы с готовыми решениями:

Реально ли укоротить/оптимизировать код? Посоветуйте
Всем доброго вечера. Скажите, реально ли укоротить код? И так для каждого месяца аналогичные куски кода. Разница минимальна. int...

можно ли как-то оптимизировать данный код
Добрый день, подскажите можно ли как-то оптимизировать данный код: /////Для окраски пунктов при скроле///////////////// var...

Как можно оптимизировать данный код?
И... Ещё один вопрос: Дан участок кода С++: #include <iostream> #include "Windows.h" using namespace...

2
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
14.12.2010, 15:12
ANTi1, все if'ы можно заменить switch'ем:
C++
1
2
3
4
5
6
switch (Form1->ComboBox2->ItemIndex) {
  case 0: /* действия */ break;
  case 1: /* действия */ break;
  case 2: /* действия */ break;
  // ... и так далее...
}
1
4 / 4 / 0
Регистрация: 04.10.2010
Сообщений: 33
14.12.2010, 23:43  [ТС]
Ну я думал может там ещё что-нибудь прикольное, как оптимизировать хотя бы эти строки. Программа очень-очень много строк, думал убрать хотя бы эту лабуду. Но и сам пытался что-то придумать в этом месте, да и тут думаю посмотрели знающие люди, исправить (уменьшить/оптимизировать) сильно нечего. Но за switch спасибо. Это первая моя программа (может и последняя, уж очень далек род моей деятельности от программирования), и много чего не знаю. Переделал, получилось посимпотичней.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.12.2010, 23:43
Помогаю со студенческими работами здесь

Как можно оптимизировать (уменьшить) данный код?
<script> $('#save').click(function () { // add loading image to div $('#loading').html('<center><img...

Как оптимизировать данный код игры крестики нолики?
Привет всем! Я написал консольную игру "Крестики нолики". Хочу посоветоваться как можно оптимизировать игру. Вот исходный код: ...

Посоветуйте, как оптимизировать код!
Программа переводит минуты в часы. import java.io.IOException; import java.util.InputMismatchException; import java.util.Scanner; ...

Можно ли оптимизировать данный код?
Есть задача: Прочитать шифр: Решил вот так: k = 0 aList = for s in "g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr...

Как оптимизировать данный фрагмент программы?
Есть код: case p11 of 1: p12:=a; 2: p12:=a; ... и сто раз... Как это можно сократить (без лабелописательства)?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru