Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++/CLI
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
sektor2009
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
#1

калькулятор - C++/CLI

26.04.2011, 14:13. Просмотров 1950. Ответов 23
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
 /*Кнопка Суммы*/
private: System::Void plus_Click(System::Object^  sender, System::EventArgs^  e) {
 
             if (pole->Text != "") //Если "pole" не пустое то выполняем следующее
                 {
                    value = Convert::ToDouble(pole->Text); 
                    regim = '+';
                    pole->Clear();//Очищаем экран
                 }
         }
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 /* Кнопка '=' */
private: System::Void rovno_Click(System::Object^  sender, System::EventArgs^  e) {
             if (pole->Text != "")// Если экран не пустой то выполняется следующее действие
             {
             double buf = Convert::ToDouble(pole->Text);//Обьявляем переиенную buf
                  /*Определяем какое действие нужно выполнить*/
             switch (regim) 
             {
                case '+':
                    pole->Text = (buf+value).ToString();//Если пользовалень нажал на кнопку '+' то будет выполняться действие сложение двух чисел
                    break;
            
             }
             }
         }
если я в ввожу 2+3=5 далее нажимаю на ровно выдается 7 (первое число прибавляется к числу которое в веденно на экране)
как сделать что второе число прибавлялось к веденному ?
 Комментарий модератора 
sektor2009, правила прочитайте! Дублирование тем запрещено!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2011, 14:13
Я подобрал для вас темы с готовыми решениями и ответами на вопрос калькулятор (C++/CLI):

Калькулятор
У меня курсовая, я пишу калькулятор по системам счисления перевод в другие...

Калькулятор или вычислитель математических выражений
Приветствую всех! Не знаю как лучше назвать нужен модуль который может...

Калькулятор
Решил сделать калькулятор в VS 2017 с помощью Windows Forms . Действия кнопкам...

Калькулятор. Точка в числе
Делаю калькулятор на c++, как добавить возможность ставить точку(запятую) в...

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

Калькулятор математических функций на C++
Нужно написать програму в Windows Forms Aplication, которая должна рисовать...

23
DWand
13 / 13 / 5
Регистрация: 23.04.2011
Сообщений: 99
28.04.2011, 00:37 #21
Для ввода , вам нужно просто переписать функцию
C++
1
2
3
4
5
6
7
8
9
System::Void setNum(int Num){
if (input) {
textBox1 -> Text += Num.ToString();
} else {
textBox1 -> Text = Num.ToString();
input = true;
}
op = false;
}
таким образом, чтобы она удовлетворяла вашим потребностям. Или создать свою.
Этот пример рассчитан только на целые числа и создавался исключительно с целью показать принцип, следуя которому можно добиться интересующего Вас эффекта, а именно очистки поля после выполнения операции при нажатии на кнопку с цифрой.
Я могу показать Вам дорогу, по которой нужно идти, но пройти ее за Вас полностью... Это будет не честно
0
sektor2009
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
28.04.2011, 07:13  [ТС] #22
Цитата Сообщение от DWand Посмотреть сообщение
Для ввода , вам нужно просто переписать функцию
C++
1
2
3
4
5
6
7
8
9
System::Void setNum(int Num){
if (input) {
textBox1 -> Text += Num.ToString();
} else {
textBox1 -> Text = Num.ToString();
input = true;
}
op = false;
}
таким образом, чтобы она удовлетворяла вашим потребностям. Или создать свою.
Этот пример рассчитан только на целые числа и создавался исключительно с целью показать принцип, следуя которому можно добиться интересующего Вас эффекта, а именно очистки поля после выполнения операции при нажатии на кнопку с цифрой.
Я могу показать Вам дорогу, по которой нужно идти, но пройти ее за Вас полностью... Это будет не честно
так и эта ощитает экран после операции )))
мне однакнопка с зяпятой осталась )

Добавлено через 1 час 30 минут
Цитата Сообщение от DWand Посмотреть сообщение
Для ввода , вам нужно просто переписать функцию
C++
1
2
3
4
5
6
7
8
9
System::Void setNum(int Num){
if (input) {
textBox1 -> Text += Num.ToString();
} else {
textBox1 -> Text = Num.ToString();
input = true;
}
op = false;
}
таким образом, чтобы она удовлетворяла вашим потребностям. Или создать свою.
Этот пример рассчитан только на целые числа и создавался исключительно с целью показать принцип, следуя которому можно добиться интересующего Вас эффекта, а именно очистки поля после выполнения операции при нажатии на кнопку с цифрой.
Я могу показать Вам дорогу, по которой нужно идти, но пройти ее за Вас полностью... Это будет не честно
а как будет для вещественных?

Добавлено через 11 минут
а здесь как это работает

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void NumericButtonPress(object sender, EventArgs e)
        {
            if (sender == btnKey0)
            {
                NumberKeyPress("0");
            }
            else if (sender == btnKey1)
            {
                NumberKeyPress("1");
                         }
                      else if (sender == btnComma)
            {
                NumberKeyPress(",");
            }
C#
1
2
3
4
5
private void NumberKeyPress(string Digit)
        {
            _digits.Push(Digit);
            displayNumber();
        }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void displayNumber()
        {
            txtDisplay.Text = "";
            object[] s = _digits.ToArray();
            for (int i = s.Length - 1; i >= 0; i--)
            {
                object str = s[i];
                txtDisplay.Text += str.ToString();
            }
            if (txtDisplay.Text == "")
            {
                txtDisplay.Text = "0";
            }
            if (_negative == true)
            {
                txtDisplay.Text = "-" + txtDisplay.Text;
            }
        }
0
DWand
13 / 13 / 5
Регистрация: 23.04.2011
Сообщений: 99
28.04.2011, 14:48 #23
Отличие в том, что в вашем примере

Цитата Сообщение от sektor2009 Посмотреть сообщение
C++
1
2
3
4
5
private void NumberKeyPress(string Digit)
 {
 _digits.Push(Digit);
 displayNumber();
 }
параметром является строка, и принимает тоже строку, как видно отсюда:

Цитата Сообщение от sektor2009 Посмотреть сообщение
C++
1
NumberKeyPress("0");
А так как запятая(точка) это символ, то все спокойной работает.
Но принцип тут абсолютно тот же.
0
sektor2009
3 / 3 / 2
Регистрация: 15.03.2009
Сообщений: 347
28.04.2011, 15:18  [ТС] #24
Цитата Сообщение от DWand Посмотреть сообщение
Отличие в том, что в вашем примере



параметром является строка, и принимает тоже строку, как видно отсюда:



А так как запятая(точка) это символ, то все спокойной работает.
Но принцип тут абсолютно тот же.
а ка кмне с запятой сделать?

Добавлено через 8 минут
Цитата Сообщение от sektor2009 Посмотреть сообщение
а ка кмне с запятой сделать?
так же создать функцию..только тип присвоить char ??
0
28.04.2011, 15:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2011, 15:18
Привет! Вот еще темы с решениями:

Калькулятор. Ввод символов в textbox
Всем привет. Нужна помощь, почему-то не работает. Пишу калькулятор. Есть...

калькулятор sqrt pow функции
private: System::Void btn1_Click(System::Object^ sender, System::EventArgs^ ...

Калькулятор, разбирающий математические выражения
калькулятор неограниченного числа аргументов, т.е. в resultbox можно ввести -...

Калькулятор. Ошибка при вводе
Подскажите пожалуйста, при вводе значений выскакивает ошибка, в чем тут дело? ...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru