Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/56: Рейтинг темы: голосов - 56, средняя оценка - 4.86
17 / 17 / 5
Регистрация: 27.11.2011
Сообщений: 141
1
.NET 4.x

Приложение для решения квадратных уравнений

19.02.2012, 10:33. Показов 10099. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, проблема такая, нужно написать форму для решения квадратного уравнения. На форме 3 TextBox для ввода коэффициентов, один multyline textbox для вывода значений дискриминанта, один picturebox для построения графика, и 2ве кнопки, решить, и построить график.
Должен быть отдельный класс самого решения квадратного уравнения.
Я написал сначала всё в обработчике события button_click и решает, но я как то криво пишу вывод, поэтому выводит только последнюю строчку
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
 private void button1_Click(object sender, EventArgs e)
{
int a = 0, b = 0, c = 0;
            double D = 0, x1 = 0, x2 = 0;
            try
            {
                a = Convert.ToInt32(textBox1.Text);
            }
            catch
            {
                textBox4.Clear();
                textBox4.Text = "Можно вводить только числовые значения";
                textBox1.Select(0, textBox1.Text.Length);
            }
            try
            {
                b = Convert.ToInt32(textBox6.Text);
            }
            catch
            {
                textBox4.Clear();
                textBox4.Text = "Можно вводить только числовые значения";
                textBox1.Select(0, textBox1.Text.Length);
            }
            try
            {
                c = Convert.ToInt32(textBox3.Text);
            }
            catch
            {
                textBox4.Clear();
                textBox4.Text = "Можно вводить только числовые значения";
                textBox1.Select(0, textBox1.Text.Length);
            }
            D = (Math.Pow(b, 2)) - (4 * a * c);
            if (a == 0)
            {
                textBox4.Clear();
                textBox4.Text = "'a' не может быть равным нулю";
 
            }
            else if (D < 0)
            {
                textBox4.Clear();
                textBox4.Text = "D < 0";
                textBox4.Text = "уравнение не имеет действительных корней";
            }
            else if (D == 0)
            {
                x1 = -b / 2 * a;
                textBox4.Clear();
                textBox4.Text = "D = " + (D).ToString();
                textBox4.Text = "X = " + (x1).ToString();
            }
            else if (D > 0)
            {
                x1 = (-b - (Math.Sqrt(D))) / (2 * a);
                x2 = (-b + (Math.Sqrt(D))) / (2 * a);
                textBox4.Clear();
                textBox4.Text = "D = " + (D).ToString();
                textBox4.Text = "X1 = " + (x1).ToString();
                textBox4.Text = "X2 = " + (x2).ToString();
 
            }
        }
}
а вроде как бы считает, а теперь хочу создать отдельный метод, или класс для решения и добавить потом ссылку на него в нажатии кнопки, может кто нибудь подскажет как это реализовать. если нужно скину архив с формой.
Миниатюры
Приложение для решения квадратных уравнений  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.02.2012, 10:33
Ответы с готовыми решениями:

Программа для решения квадратных уравнений, переписать для Windows Forms
1) class Program { static void Main(string args) { float a =...

Метод Ньютона для решения нелинейных уравнений
В общем, помогите составить программу в Win.Form для решения нелинейных уравнений методом Ньютона....

Метод Ньютона для решения нелинейных уравнений
Помогите написать код для решения уравнений данным методом

Проектирование и выбор решения для реализации (локальное; клиентское приложение)
Вступление для Админов. Куда засунуть эту тему я не нашёл (разделов по проектированию нет (или я...

3
3 / 3 / 0
Регистрация: 26.03.2011
Сообщений: 36
19.02.2012, 13:56 2
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
private void button1_Click(object sender, EventArgs e)
{
         KvUr();
}
 
private void KvUr()
{
            int a = 0, b = 0, c = 0;
            double D = 0, x1 = 0, x2 = 0;
            try
            {
                a = Convert.ToInt32(textBox1.Text);
            }
            catch
            {
                textBox4.Clear();
                textBox4.Text = "Можно вводить только числовые значения";
                textBox1.Select(0, textBox1.Text.Length);
            }
            try
            {
                b = Convert.ToInt32(textBox6.Text);
            }
            catch
            {
                textBox4.Clear();
                textBox4.Text = "Можно вводить только числовые значения";
                textBox1.Select(0, textBox1.Text.Length);
            }
            try
            {
                c = Convert.ToInt32(textBox3.Text);
            }
            catch
            {
                textBox4.Clear();
                textBox4.Text = "Можно вводить только числовые значения";
                textBox1.Select(0, textBox1.Text.Length);
            }
            D = (Math.Pow(b, 2)) - (4 * a * c);
            if (a == 0)
            {
                textBox4.Clear();
                textBox4.Text = "'a' не может быть равным нулю";
 
            }
            else if (D < 0)
            {
                textBox4.Clear();
                textBox4.Text += "D < 0\n";
                textBox4.Text = "уравнение не имеет действительных корней";
            }
            else if (D == 0)
            {
                x1 = -b / 2 * a;
                textBox4.Clear();
                textBox4.Text = "D = " + (D).ToString() + "\n";
                textBox4.Text += "X = " + (x1).ToString();
            }
            else if (D > 0)
            {
                x1 = (-b - (Math.Sqrt(D))) / (2 * a);
                x2 = (-b + (Math.Sqrt(D))) / (2 * a);
                textBox4.Clear();
                textBox4.Text = "D = " + (D).ToString()  + "\n";
                textBox4.Text += "X1 = " + (x1).ToString() + "\n";
                textBox4.Text += "X2 = " + (x2).ToString();
 
            }
        }
}
если в этом же классе.
просто вариант. (попробуй, не проверял)
скинь архив с формой.

Добавлено через 27 минут
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
private void button1_Click(object sender, EventArgs e)
{
            int a = 0, b = 0, c = 0;
 
            try
            {
                a = Convert.ToInt32(textBox1.Text);
                b = Convert.ToInt32(textBox6.Text);
                c = Convert.ToInt32(textBox3.Text);
            }
            catch
            {
                textBox4.Clear();
                textBox4.Text = "Можно вводить только числовые значения";
                textBox1.Select(0, textBox1.Text.Length);
            }
 
            textBox4.Text = KvUr(a,b,c);
}
 
private string KvUr(int a, int b, int c)
{
            double D = 0, x1 = 0, x2 = 0;
            
            D = (Math.Pow(b, 2)) - (4 * a * c);
            if (a == 0)
            {
                 return "'a' не может быть равным нулю"; 
            }
            else if (D < 0)
            {
                 return "D < 0\nУравнение не имеет действительных корней";
            }
            else if (D == 0)
            {
                x1 = -b / 2 * a;
                return "D = " + (D).ToString() + "\nX = " + (x1).ToString() ;
            }
            else if (D > 0)
            {
                x1 = (-b - (Math.Sqrt(D))) / (2 * a);
                x2 = (-b + (Math.Sqrt(D))) / (2 * a);
                return "D = " + (D).ToString()  + "\nX1 = " + (x1).ToString() + "\nX2 = " + (x2).ToString(); 
            }
        }
}
может быть так. (не проверял)
1
17 / 17 / 5
Регистрация: 27.11.2011
Сообщений: 141
19.02.2012, 14:14  [ТС] 3
Вот архив!
Вложения
Тип файла: zip TheSQR_Equatation.zip (41.0 Кб, 154 просмотров)
0
17 / 17 / 5
Регистрация: 27.11.2011
Сообщений: 141
19.02.2012, 21:39  [ТС] 4
А вы можете подсказать как мне построить график???????
0
19.02.2012, 21:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.02.2012, 21:39
Помогаю со студенческими работами здесь

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

Консольное приложение для решения квадратных уравнений, исправить код
Всем здрасте. Только начал изучать C# и решил написать простенькое консольное приложение для...

Программа для решения квадратных уравнений
В общем надо написать прогу для расчета корней квадратного уравнения. Вот что у меня получилось: ...

Программа для решения квадратных уравнений
Здравствуйте! Я написал программу, решающую квадратные уравнения. Все работает. Только есть одна...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru