Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 23.09.2018
Сообщений: 22

Ошибка в коде, неправильно составленный код

21.12.2019, 00:00. Показов 2350. Ответов 8

Студворк — интернет-сервис помощи студентам
Была уже тема с данной частью кода, но там только ответили на один вопрос.
Вот в чем вопрос моей проблемы:
Данный код выводит совсем не то что нужно(я даже не могу понять откуда эта цифра берется,а оно почему-то показывает 11), так вот, в программе есть пару чекбоксов, радиокнопок и текстбокс. Коротко пояснить у меня не получится, но некоторые вопросы могу задать...Откудо там 11, почему она не додает чекбоксы..(Если кто и понимает Украинский, фото ниже)
*Извиняюсь за ошЫбки, не помню когда последний раз спал)0)*
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
 private void button1_Click(object sender, EventArgs e)
        {
            double Oklad ;
            string Zar;
            double Total;
            double Kat = 0;
            double ch1 = 0, ch4 = 0, ch5 = 0, ch7= 0, ch8 = 0, ch9 = 0, ch10 = 0;
            double rb1 = 0, rb2 = 0, rb3 = 0, rb5 = 0, rb10 = 0, rb11 = 11;
            String Time = "";
 
            Oklad = 1920;
 
            // chekbox
            if (checkBox1.Checked)
            {
                ch1 =  0.20;
            }
            else if(checkBox4.Checked)
            {
                ch4 =  0.25;
            }
            else if(checkBox5.Checked)
            {
                ch5 =  0.15;
            }
            else if(checkBox7.Checked)
            {
                ch7 = 0.20;
            }
            else if(checkBox8.Checked)
            {
                ch8 = 0.10;
            }
            else if(checkBox9.Checked)
            {
                ch9 =  0.15;
            }
            else if(checkBox10.Checked)
            {
                ch10 = 0.25;
            }
 
            //radioButton
 
            if (radioButton1.Checked)
            {
                rb1 = 0.20;
            }
 
            else if (radioButton2.Checked)
            {
                rb2 =  0.10;
            }
            else if (radioButton3.Checked)
            {
                rb3 = 0.30;
            }
            else if (radioButton5.Checked)
            {
                rb5 =  1.73;
            }
            //Категорії
            if (radioButton6.Checked)
            {
                Kat = 1.97;
            }
            else if(radioButton7.Checked)
            {
                Kat =  1.82;
            }
            else if (radioButton9.Checked)
            {
                Kat = 2.12;
            }
            //
            if (radioButton10.Checked)
            {
                rb10 = 0.25;
            }
            else if (radioButton11.Checked)
            {
                rb11 =  0.15;
            }
            //
 
 
            Time = textBox1.Text;
 
 
            int Time_2 = Int32.Parse(Time);
 
            Oklad = ((Time_2/720) * 1921 * Kat);
 
            Oklad += ch1 + ch4 + ch5 + ch7 + ch8 + ch9 + ch10 + rb1 + rb2 + rb3 + rb5 + rb10 + rb11;
 
            Zar = Oklad.ToString();
 
            label1.Text = Zar;
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            try
            {
                int s = Convert.ToInt32(textBox1.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Вы ввели символ! Пожалуйста,введите цифрy");
            }
        }
}
Миниатюры
Ошибка в коде, неправильно составленный код  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.12.2019, 00:00
Ответы с готовыми решениями:

Ошибка в коде.Неправильно вычисляет итог.
неправильно вычисляет. задание: найти разность между вторым и предпоследним по величине элементами последовательности. Scanner...

Ошибка в коде, неправильно происходит операция деления
Задание : Напишите программу для вычисления формулы, согласно варианту задания. Все числа 16-битные целые со знаком. Протестируйте...

Ошибка в коде - неправильно считает программа. Решение системы нелинейных уравнений методом Ньютона
Я по ссылке http://www.teh nari.ru/f41/t79111/ нашел код как пример (пост №2). Сделал по аналогии, только со своими функциями. Не понимаю в...

8
 Аватар для Voronkin
469 / 296 / 166
Регистрация: 18.03.2018
Сообщений: 960
21.12.2019, 00:19
Лучший ответ Сообщение было отмечено Reyden0 как решение

Решение

Надбавки нужно умножать на оклад... на сколько я знаю а вы что делаете??
Oklad += ch1 + ch4 + ch5 + ch7 + ch8 + ch9 + ch10 + rb1 + rb2 + rb3 + rb5 + rb10 + rb11;

а 11 получается... может из-за этого:
double rb1 = 0, rb2 = 0, rb3 = 0, rb5 = 0, rb10 = 0, rb11 = 11;

Добавлено через 8 минут
Дальше... у вас все числа - double... а Time_2 - который вы делите, почему то int. Делимое - по любому должно быть double

Попробуйте, как пример, int x = 650 / 875; что получится?

если у вас Time_2 меньше 720, то в результате выполнения Oklad = ((Time_2/720) * 1921 * Kat); Ваш учитель пойдет по миру
1
0 / 0 / 0
Регистрация: 23.09.2018
Сообщений: 22
21.12.2019, 00:26  [ТС]
Ех, с 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
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
private void button1_Click(object sender, EventArgs e)
        {
            double Oklad ;
            string Zar;
            double Total;
            double Kat = 0;
            double ch1 = 0, ch4 = 0, ch5 = 0, ch7= 0, ch8 = 0, ch9 = 0, ch10 = 0;
            double rb1 = 0, rb2 = 0, rb3 = 0, rb5 = 0, rb10 = 0, rb11 = 0;
            String Time = "";
 
            Oklad = 1920;
 
            // chekbox
            if (checkBox1.Checked)
            {
                ch1 =  0.20;
            }
            else if(checkBox4.Checked)
            {
                ch4 =  0.25;
            }
            else if(checkBox5.Checked)
            {
                ch5 =  0.15;
            }
            else if(checkBox7.Checked)
            {
                ch7 = 0.20;
            }
            else if(checkBox8.Checked)
            {
                ch8 = 0.10;
            }
            else if(checkBox9.Checked)
            {
                ch9 =  0.15;
            }
            else if(checkBox10.Checked)
            {
                ch10 = 0.25;
            }
 
            //radioButton
 
            if (radioButton1.Checked)
            {
                rb1 = 0.20;
            }
 
            else if (radioButton2.Checked)
            {
                rb2 =  0.10;
            }
            else if (radioButton3.Checked)
            {
                rb3 = 0.30;
            }
            else if (radioButton5.Checked)
            {
                rb5 =  1.73;
            }
            //Категорії
            if (radioButton6.Checked)
            {
                Kat = 1.97;
            }
            else if(radioButton7.Checked)
            {
                Kat =  1.82;
            }
            else if (radioButton9.Checked)
            {
                Kat = 2.12;
            }
            //
            if (radioButton10.Checked)
            {
                rb10 = 0.25;
            }
            else if (radioButton11.Checked)
            {
                rb11 =  0.15;
            }
            //
 
 
            Time = textBox1.Text;
 
 
            int Time_2 = Int32.Parse(Time);
 
            Oklad = ((Time_2/720) * 1921 * Kat);
 
            Total = ch1 + ch4 + ch5 + ch7 + ch8 + ch9 + ch10 + rb1 + rb2 + rb3 + rb5 + rb10 + rb11;
 
            double i = (Total*1921) + Oklad;
 
            Zar = i.ToString();
 
            label1.Text = Zar;
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            try
            {
                int s = Convert.ToInt32(textBox1.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Вы ввели символ! Пожалуйста,введите цифрy");
            }
        }
Но и с этим кодом выдает каки-это невнятные цифры
0
 Аватар для Voronkin
469 / 296 / 166
Регистрация: 18.03.2018
Сообщений: 960
21.12.2019, 00:27
int Time_2 = Int32.Parse(Time); - замени инт на дабл!!!
Еще раз первый мой ответ внимательно прочтите

И еще раз... надбавки на оклад умножаются

2000 *0,25 = Это 2000 + 25% = 2500

2000 + 0, 25 = Это 2000 + 25 копеек = 2000, 25


double ch1 = 0, ch4 = 0, ch5 = 0, ch7= 0, ch8 = 0, ch9 = 0, ch10 = 0;
double rb1 = 0, rb2 = 0, rb3 = 0, rb5 = 0, rb10 = 0, rb11 = 0;

все нули заменить на 1
0
0 / 0 / 0
Регистрация: 23.09.2018
Сообщений: 22
21.12.2019, 00:32  [ТС]
Я заменил в новом(старом)0) коде, который я кинул int на double, но все одно ерунда выходит)

Добавлено через 55 секунд
Сейчас попробую, не успел прочитать
0
 Аватар для Voronkin
469 / 296 / 166
Регистрация: 18.03.2018
Сообщений: 960
21.12.2019, 00:36
Пардон, погорячился))) 2000 *0,25 = Это 25% от 2000 = 500
0
0 / 0 / 0
Регистрация: 23.09.2018
Сообщений: 22
21.12.2019, 00:40  [ТС]
Спасибо, натупил, вроде пора отоспатся)0)
0
 Аватар для Voronkin
469 / 296 / 166
Регистрация: 18.03.2018
Сообщений: 960
21.12.2019, 00:41
Сделай проще, чтоб не путаться с процентами.

замени во всех элементах выбора ch5 = 0.15; на ch5 = 0.15*Oklad; Тогда ты получишь уже не коэффициенты а готовые суммы, вот тогда их в последнем расчете можно переплюсовать

Зачем то ж ты ее в 11 строке определил

C#
1
Oklad = 1920;
хотя дальше не используешь, а в 92 строке присваиваешь ей новое значение
0
0 / 0 / 0
Регистрация: 23.09.2018
Сообщений: 22
21.12.2019, 00:56  [ТС]
Исправил немного код, нужно было просто додавать в дужках а оно множило первое число, а остальные додавало, ну и еще по малости...

Добавлено через 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
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
   private void button1_Click(object sender, EventArgs e)
        {
            double Oklad ;
            string Zar;
            double Total;
            double Kat = 0;
            double ch1 = 0, ch4 = 0, ch5 = 0, ch7= 0, ch8 = 0, ch9 = 0, ch10 = 0;
            double rb1 = 0, rb2 = 0, rb3 = 0, rb5 = 0, rb10 = 0, rb11 = 0;
            String Time = "";
 
            Oklad = 1920;
 
            // chekbox
            if (checkBox1.Checked)
            {
                ch1 =  0.20;
            }
            else if(checkBox4.Checked)
            {
                ch4 =  0.25;
            }
            else if(checkBox5.Checked)
            {
                ch5 =  0.15;
            }
            else if(checkBox7.Checked)
            {
                ch7 = 0.20;
            }
            else if(checkBox8.Checked)
            {
                ch8 = 0.10;
            }
            else if(checkBox9.Checked)
            {
                ch9 =  0.15;
            }
            else if(checkBox10.Checked)
            {
                ch10 = 0.25;
            }
 
            //radioButton
 
            if (radioButton1.Checked)
            {
                rb1 = 0.20;
            }
 
            else if (radioButton2.Checked)
            {
                rb2 =  0.10;
            }
            else if (radioButton3.Checked)
            {
                rb3 = 0.30;
            }
            else if (radioButton5.Checked)
            {
                rb5 =  1.73;
            }
            //Категорії
            if (radioButton6.Checked)
            {
                Kat = 1.97;
            }
            else if(radioButton7.Checked)
            {
                Kat =  1.82;
            }
            else if (radioButton9.Checked)
            {
                Kat = 2.12;
            }
            //
            if (radioButton10.Checked)
            {
                rb10 = 0.25;
            }
            else if (radioButton11.Checked)
            {
                rb11 =  0.15;
            }
            //
 
 
            Time = textBox1.Text;
 
 
            double Time_2 = int.Parse(Time);
 
            Oklad = ((Time_2 / 720) * 1921 * Kat);
 
            Oklad *= (ch1 + ch4 + ch5 + ch7 + ch8 + ch9 + ch10 + rb1 + rb2 + rb3 + rb5 + rb10 + rb11 + Kat);
 
            Zar = Oklad.ToString();
 
            label1.Text = Zar;
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            try
            {
                int s = Convert.ToInt32(textBox1.Text);
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Вы ввели символ! Пожалуйста,введите цифрy");
            }
        }
Добавлено через 2 минуты
Исправил немного код, так-что уже работает)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.12.2019, 00:56
Помогаю со студенческими работами здесь

Ошибка в коде (код из 30 строк)
я нуб и не знаю где ошибка) пишет on line 14 <? include ('header.php') ?> <? include ('db.php'); //Выбираем все записи ...

Ошибка в коде. Код ниже.
Определить макрокоманду, выводящую на экран строку символов, имя которой передается в качестве аргумента, и написать программу,...

Не работает код. Ошибка в коде
Игра угадай число. мы загадываем комп угадывает. половинным делением... <script type="text/javascript"> var min =...

Ошибка в коде? Код для формы заказа
Не могу понять где ошибка. Данные в базу данных не попадают. Taxi -название бд. Order -название таблицы <?php ...

Ошибка в коде взаимодействия клиента и сервера на основе протокола TCP/IP (ошибка в коде)
Задание: Осуществить взаимодействие клиента и сервера на основе протокола TCP/IP. Реализовать параллельное соединение с использованием...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru