С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
 Аватар для White Luna
33 / 27 / 2
Регистрация: 08.09.2010
Сообщений: 402

Калькулятор

19.12.2010, 13:38. Показов 1887. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не работают знаки -*/ выдает ошибку на присвоение значения sum1, но присвоение сделано по анологии того что выше присвоения и поэтому не понимаю ошибку, поясните пж
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace drft
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button_1_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_9_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_8_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_7_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_6_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_5_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_4_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_3_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_2_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_0_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_plus_Click(object sender, EventArgs e)
        {
            ch = 1;
          //  if (textBox1.Text == "") // если ничего не введено
          //      MessageBox.Show("Данные не введены");
          //  else
         //   {
                sum = Convert.ToDouble(textBox1.Text); // у oбъекта textBox1 св-во Text явл строковым. Поэтому для преобразования в double используем статический метод Parse  
                textBox1.Text = "";
         //   }
        
        }
 
        private void button_minus_Click(object sender, EventArgs e)
        {
            ch = 2;
        //    if (textBox1.Text == "")
        //        MessageBox.Show("Данные не введены");
        //    else
       //     {
                sum = Convert.ToDouble(textBox1.Text);
                textBox1.Text = "";
       //     }
        
        }
 
        private void button_umnogenie_Click(object sender, EventArgs e)
        {
            
            ch = 3;
      //      if (textBox1.Text == "") // если ничего не введено
      //          MessageBox.Show("Данные не введены");
      //      else
      //      {
                sum = Convert.ToDouble(textBox1.Text);
                textBox1.Text = "";
       //     }
          
        }
 
        private void button_delenie_Click(object sender, EventArgs e)
        {
            
            ch = 4;
        //    if (textBox1.Text == "") // если ничего не введено
        //        MessageBox.Show("Данные не введены");
        //    else
        //    {
                sum = Convert.ToDouble(textBox1.Text);
                textBox1.Text = "";
         //   }
          
        }
 
        private void button_ravno_Click(object sender, EventArgs e)
        {
            double sum1, sum2;
            if (ch == 1)   //  что бы рез заносился в глобальную переменную
                sum1 = Convert.ToDouble(textBox1.Text);
                sum2 = sum + sum1;
                textBox1.Text = Convert.ToString(sum2); // преобразуем значение типа double в строку
 
            if (ch == 2)   //  что бы рез заносился в глобальную переменную
                sum1 = Convert.ToDouble(textBox1.Text);
                sum2 = sum - sum1;
                textBox1.Text = Convert.ToString(sum2); // преобразуем значение типа double в строку
 
           if (ch == 3)   //  что бы рез заносился в глобальную переменную
                sum1 = Convert.ToDouble(textBox1.Text);
                sum2 = sum * sum1;
                textBox1.Text = Convert.ToString(sum2); // преобразуем значение типа double в строку
 
           if (ch == 4)   //  что бы рез заносился в глобальную переменную
                sum1 = Convert.ToDouble(textBox1.Text);
                sum2 = sum / sum1;
                textBox1.Text = Convert.ToString(sum2); // преобразуем значение типа double в строку
        }
 
        private void button_c_Click(object sender, EventArgs e)  //очистка
        {
            textBox1.Text = " ";
            sum = 0;
        }
 
        private void button_Close_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.12.2010, 13:38
Ответы с готовыми решениями:

Калькулятор
Написан простенький калькулятор (четыре действия, изменение знака). На кнопках стоит событие Click. Вопрос: как сделать дополнительно...

Калькулятор тарифов.
Есть необходимость создать приложение предназначенное для выбора оптимального тарифа оператора сотовой связи. Входной txt файл содержит...

Тригонометрический калькулятор
Калькулятор ,вычисляющий только тригонометрические функции

10
Заблокирован
19.12.2010, 16:43
Ты бы лучше проект скинул. Я что-то не нашел где ты объявлял переменные ch и sum
0
 Аватар для White Luna
33 / 27 / 2
Регистрация: 08.09.2010
Сообщений: 402
19.12.2010, 20:02  [ТС]
я уже сделала, спс
сh и sum я объявляла в другой форме, вот полная рабочая прога
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
159
160
161
162
163
164
165
166
167
168
169
170
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace drft
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        protected static double sum, sum2; //  глобальная переменная, т е все введеное до нажатия кнопки с операциями будет сохранятся тут.
        protected static int ch;
        protected static double sum1 = 0;
 
        private void button_1_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_9_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_8_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_7_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_6_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_5_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_4_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_3_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_2_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_0_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_plus_Click(object sender, EventArgs e)
        {
            ch = 1;
            if (textBox1.Text == "") // если ничего не введено
                MessageBox.Show("Данные не введены");
            else
            {
                sum = Convert.ToDouble(textBox1.Text); // у oбъекта textBox1 св-во Text явл строковым. Поэтому для преобразования в double используем статический метод Parse  
                textBox1.Text = "";
            }
        
        }
 
        private void button_minus_Click(object sender, EventArgs e)
        {
            ch = 2;
           
            if (textBox1.Text == "")
               MessageBox.Show("Данные не введены");
            else
            {
              sum = Convert.ToDouble(textBox1.Text);
               textBox1.Text = "";
           }
        
        }
 
        private void button_umnogenie_Click(object sender, EventArgs e)
        {
            
            ch = 3;
           if (textBox1.Text == "") // если ничего не введено
              MessageBox.Show("Данные не введены");
            else
            {
                sum = Convert.ToDouble(textBox1.Text);
                textBox1.Text = "";
            }
          
        }
 
        private void button_delenie_Click(object sender, EventArgs e)
        {
            
            ch = 4;
            if (textBox1.Text == "") // если ничего не введено
                MessageBox.Show("Данные не введены");
           else
           {
                sum = Convert.ToDouble(textBox1.Text);
                textBox1.Text = "";
            }
          
        }
 
        private void button_ravno_Click(object sender, EventArgs e)
        {
            double sum2;
            double sum1;
            if (ch == 1)   //  что бы рез заносился в глобальную переменную
            {
                sum1 = Convert.ToDouble(textBox1.Text);
                sum2 = (sum + sum1);
                textBox1.Text = Convert.ToString(sum2); // преобразуем значение типа double в строку
            }
            if (ch == 2)   //  что бы рез заносился в глобальную переменную
            {
 
                sum1 = Convert.ToDouble(textBox1.Text);
                sum2 = (sum - sum1);
                textBox1.Text = Convert.ToString(sum2); // преобразуем значение типа double в строку
            }
            if (ch == 3)   //  что бы рез заносился в глобальную переменную
            {
                sum1 = Convert.ToDouble(textBox1.Text);
                sum2 = (sum * sum1);
                textBox1.Text = Convert.ToString(sum2); // преобразуем значение типа double в строку
            }
            if (ch == 4)   //  что бы рез заносился в глобальную переменную
            {
                sum1 = Convert.ToDouble(textBox1.Text);
                sum2 = (sum / sum1);
                textBox1.Text = Convert.ToString(sum2); // преобразуем значение типа double в строку
            }
        }
 
        private void button_c_Click(object sender, EventArgs e)  //очистка
        {
            textBox1.Text = " ";
            sum = 0;
        }
 
        private void button_Close_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}
0
9 / 9 / 3
Регистрация: 12.12.2010
Сообщений: 22
19.12.2010, 21:52
можно немного упростить код, заменив это

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
        private void button_1_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_9_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_8_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_7_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_6_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_5_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_4_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_3_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_2_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
 
        private void button_0_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
на это:
C#
1
2
3
4
        private void button_Click(object sender, EventArgs e)
        {
            textBox1.Text += (sender as Button).Text;
        }
и поставить в каждой кнопке с цифрой обработчик события Click на эту функцию ))
0
 Аватар для White Luna
33 / 27 / 2
Регистрация: 08.09.2010
Сообщений: 402
19.12.2010, 22:24  [ТС]
у меня такое не работает, пробовала в самом начале объединить так, но не вышло, а щас ошибку выдает
0
 Аватар для Mikant
1322 / 995 / 127
Регистрация: 08.12.2009
Сообщений: 1,299
19.12.2010, 22:33
Цитата Сообщение от White Luna Посмотреть сообщение
а щас ошибку выдает
выдели все нужные кнопки в дизайнере. далее лезь в их свойства. перейди на закладку "события" (значок с молнией сверху). выбери Click. и там уже выбери button_Click
1
 Аватар для White Luna
33 / 27 / 2
Регистрация: 08.09.2010
Сообщений: 402
20.12.2010, 21:02  [ТС]
у меня появились вопросы ?
1) как можно реализовать унарный минус
2) как в строке в которой вводишь чисала можно удалть 1 символ (пример: 939 -> 93)
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
20.12.2010, 21:10
По первому вопросу
C#
1
2
3
double str = Convert.ToDouble(textBox1.Text);
            str--;
            textBox1.Text = str.ToString();
По второму вопросу
C#
1
2
3
string str = textBox1.Text;
str = str.Substring(0, str.Length - 1);
textBox1.Text = str;
1
 Аватар для White Luna
33 / 27 / 2
Регистрация: 08.09.2010
Сообщений: 402
20.12.2010, 21:13  [ТС]
по первому вопросу немного нето должно показывать: есле введем 3, то -3
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
20.12.2010, 21:17
а ну ща

Добавлено через 1 минуту
C#
1
2
3
string str = textBox1.Text;
str = "-" + str;
textBox1.Text = str;
0
 Аватар для White Luna
33 / 27 / 2
Регистрация: 08.09.2010
Сообщений: 402
20.12.2010, 21:19  [ТС]
терь точно все, всем спс
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.12.2010, 21:19
Помогаю со студенческими работами здесь

Инженерный калькулятор
Привет. Подскажите как сделать переключатель форм в калькуляторе по типу Win на разные виды(простой, инженерный...)

Калькулятор + авторизация WCF
ребята есть просто калькулятор подскажите как подключить авторизацию WCF-сервис должен быть сеансовым и содержать две операции...

Калькулятор в C# (вычисление выражения)
Здравствуйте! у меня такая проблема, как мне сделать в приложении Windows Forms такой калькулятор состоящий из 2 TextBox и button, чтобы в...

Как сделать КАЛЬКУЛЯТОР НА С ШАРПЕ
Всем привет!! :help: Учусь на курсах и мне надо написать на Form калькулятор с вводом цифр с button и выполнением +, -, /, * и...

RadioButton(Калькулятор)(программа написана)
Кто может помочь с радиокнопками в калькуляторе. радиокнопки- для перевода систем счислений. Программа уже написана(форма тоже есть)...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Изучаю 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