Калькулятор
Реализовать на базе Windows Forms программу “Калькулятор”, в которой должны быть реализованы следующие функции (и соответствующие им кнопки):
Ввод цифр 1, 2, 3, 4, 5, 6, 7, 8, 9, 0. Ввод разделительной точки.
Стирание последней введенной цифры.
Стирание всех цифр.
Арифметические операции +, -, /, *.
Операции с памятью (записать текущее число в память, вывести текущее число из памяти, очистить память).
Обработку ошибок в программе реализовать с помощью блока try catch.
помогите доработать код(а именно как реализовать операции с памятью и обработку ошибок?)
Калькулятор
Нужно написать программу обычного калькулятора в C#.
Калькулятор
Добрый день, скажите пожалуйста, как можно сделать в калькуляторе подсчёт выражений, например.
Калькулятор СИ
На платной основе ищу человека, который сможет срочно доделать калькулятор в си исправив несколько.
Калькулятор
Вот моя реализация калькулятора , может кому понадобиться using System; using.
Вложения
SimpleCalc.zip (59.1 Кб, 121 просмотров) |
Тематические курсы и обучение профессиям онлайн Профессия С#-разработчик (Skillbox) Архитектор ПО (Skillbox) Профессия Тестировщик (Skillbox) |
три кнопки: MS (запись в память), MR (чтение из памяти), MC (очищение)
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
калькулятор
в C# плохо пишу, но мне надо написать калькулятор. есть несколько вопросов. знаю, что это самая.
Калькулятор
Доброго времени суток, делаю калькулятор програмиста но столкнулся с проблемой как мне добавлять.
А-ля калькулятор
Спасайте, программисты! Как сделать так, чтобы в калькуляторе при получении результата, с ним.
Калькулятор
Ребят, помогите, плиз. Нужно написать калькулятор типа стандартного в Windows, предусмотреть.
Калькулятор. Работа с клавиатуры
Обработка клавиатуры, калькулятор
Привет, есть вот такой код калькулятора: (хедер файл) #ifndef MAINWINDOW_H #define.
Калькулятор в MFC — не работает ввод с клавиатуры
Пилю калькулятор в MFC. Все отлично работает. Но не работает ввод с клавиатуры, а только щелчком по.
Калькулятор. Набор чисел и операций с клавиатуры
Здравствуйте. Мне надо реализовать калькулятор, подобный стандартному. Кнопки нажимаю мышью. Как.
Калькулятор: ошибка при вводе цифр с клавиатуры
Есть программа калькулятор, при нажатии кнопок на экране всё работает. При нажатии цифровых кнопок.
Для захвата KeyDown события клавиатуры вы должны сначала включить KeyPreview эту форму. Выберите форму и перейдите в свойства и установите KeyPreview = true.
Используйте KeyDown событие для захвата событий клавиатуры,
Тематические курсы и обучение профессиям онлайн Профессия С#-разработчик (Skillbox) Архитектор ПО (Skillbox) Профессия Тестировщик (Skillbox) |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Калькулятор, поддерживающий ввод с клавиатуры. Исправить код
В общем такое дело. Решил сделать калькулятор как в винде(Не вводить числа, а тыкать на кнопочки).
Калькулятор (перевод нажатия клавиш клавиатуры в нажатие кнопок)
Здравствуйте. У меня тут проблема-не могу запрограммировать калькулятор, чтобы он эмулировал.
Работа формы в фоне, вне фокуса (работа с раскладкой клавиатуры)
Как заставить это работать в фоне? Даный код работает пока форма в фокусе, как только ее.
Калькулятор (Работа с файлами)
В общем такая задача: имеется 2 текстовых файла(input.txt, output.txt) В первом файле написано.
Программирование на C, C# и Java
Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы
ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode
Калькулятор C# в консоли
В данном уроке опять создадим простенький калькулятор на языке C#, но в этот раз будем работать в консоли.
Калькуляторы на Windows Forms можно посмотреть здесь и здесь.
Данный калькулятор абсолютно элементарен и требует минимальных знаний языка. Создаём проект (“Файл” ->”Создать”->”Проект”->”Консольное приложение”) и объявляем наши переменные:
Double – это тип переменной с плавающей запятой, иными словами, тип, в который можно записать десятичные числа, причём довольно большие. В него поместится как значение 5, так и значение 5,45, и даже значение 5,4571601695, также в нём можно использовать и отрицательные числа.
В переменную a мы внесём первое число, которое запишет пользователь. В переменную b – второе число. А переменная total будет выводить результат математических операций с переменными а и b.
Char – это тип переменной в виде какого-либо символа, будь то буква, цифра или какой-нибудь знак. В переменную oper мы будем заносить знак математической операции над числами. В нашем калькуляторе будут только самые основные – “+”, “-“, “*” и “/”.
Итак, мы объявили переменные, теперь нам надо узнать, что конкретно нужно посчитать пользователю, а для этого придётся считывать данные, которые он будет вводить:
Сначала мы выводим на консоль надпись о том, чтобы пользователь ввёл первое число.
В следующей строке мы присваиваем переменной a введенное пользователем число, но при этом не забываем, что введенные пользователем данные всегда имеют строковой формат string, а так как у нашей переменной тип double, то надо отконвертировать string в double соответствующим методом Convert.
Примерно то же самое мы проделываем с переменной oper, но конвертируем string уже не в double, а в char, потому что переменная oper имеет такой тип данных.
Точно то же самое, что было с переменной a проделываем и с переменной b, так как они одинакового типа.
Числа получены. Но пока неизвестно, как ими оперировать, так как главное для нас – узнать что за знак скрывается в переменной oper, и уже исходя из этого, производить операции над числами:
Для этого мы используем оператор условия if (если).
Первая строка звучит примерно так: если в переменной oper записан знак “+”, то..
..мы присваиваем переменной total сумму переменных a и b и выводим ответ на экран. В кавычках записаны слова, которые выводятся на экран, а переменные, расположившиеся среди плюсов выводят свои значения. Пример такого ответа выглядит вот так:
По подобию первого условия мы создаём остальные, используя операторы else if (так положено семантически, если для алгоритма необходимы какие-либо условия. Если условия не необходимы, то можно использовать оператор else, как написано ниже).
Мы расписали все необходимые нам операторы. Но что, если пользователь введёт какой-нибудь неверный оператор? Тогда нам следует предупредить его, что такого оператора нет. Для этого мы используем else. Логика такая – если у нас в oper имеется знак плюса – мы складываем, если же минус -вычитаем, знак умножения- умножаем, знак деления – делим, если в oper имеется любой другой знак (всё остальное), то нам уже не нужно какое-то определение условия (как, например, oper==’+’), поэтому можно обойтись простым else.
Наша программа уже работает, но, пожалуй, можно добавить ещё одну несложную деталь.
А что, если пользователь захочет выполнить несколько операций? Например, сначала сложить два числа, а затем умножить два других числа? Для этого ему пришлось бы перезапускать программу. Но можно сделать и иначе:
Калькулятор Windows Forms на языке C#
Реализация калькулятора Windows Forms на языке C#
Содержимое разработки
Калькулятор Windows Forms на языке C#
Простой калькулятор Windows Forms на C#
Наш калькулятор основан на взаимодействии двух чисел, поэтому математические операции будут следующие:
Возведение первого числа в степень второго
Взятие корня первого числа степени второго числа.
Итак, после того, как с графическим оформлением закончено, приступаем к самому коду.
Для всех вышеописанных операций мы создадим отдельные функции. Функции – это, так сказать, подпрограммы в самой программе, выполняющие отдельные задачи. Они помогают сократить и облегчить код.
public static double sum ( double a , double b )
Для начала мы объявляем программе, что создаем функцию (пишем public static ), затем определяем тип функции( double – числовой тип повышенной точности с плавающей запятой, лучший вариант), после даём имя функции( sum ) и в скобках записываем то, что, так сказать, получает функция от программы( double a и double b – первое и второе числа, которые мы запишем в первые два TextBox’a ). Выражение return возвращает в функцию результат сложения a и b . То есть наша функция получает два числа от пользователя, который введет их в форме и, при помощи return’a , в неё же заносится результат вычисления.
public static double razn ( double a , double b )
public static double umnog ( double a , double b )
public static double del ( double a , double b )
Функция возведения в степень
public static double step ( double a , double b )
return Math . Pow ( a , b );
Функция извлечения корня
public static double koren ( double a , double b )
return Math . Pow ( a, 1/b );
Функции созданы, сталось лишь привязать их к кнопкам в форме. Дважды щёлкаем мышью в форме на первую кнопку. Нас переносит в часть кода, которая отвечает за событие, которое произойдет, когда пользователь кликнет на данную кнопку. В теле этого события мы пишем:
private void button1_Click(object sender, EventArgs e)
textBox3.Text = Convert.ToString(sum(Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text)));
Разбор кода начнём, как ни странно, с конца. Мы помним, что при объявлении функции мы писали вот такую часть кода: sum(double a, double b) . То есть функция может получить только значения типа double . Также мы помним, что эти значения мы получаем от пользователя, который, в свою очередь, вводит их в первый и второй TextBox’ы. Однако проблема в том, что значения из TextBox’ов воспринимаются программой как строки, то есть типом string . Поэтому их надо конвертировать в нужный нам double , что мы и делаем: sum(Convert.ToDouble(textBox1.Text),Convert.ToDouble(textBox2.Text))
private void button2_Click(object sender, EventArgs e)
textBox3.Text = Convert.ToString(razn(Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text)));
private void button3_Click(object sender, EventArgs e)
textBox3.Text = Convert.ToString(umnog(Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text)));
private void button4_Click(object sender, EventArgs e)
textBox3.Text = Convert.ToString(del(Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text)));
private void button5_Click(object sender, EventArgs e)
textBox3.Text = Convert.ToString(step(Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text)));
private void button6_Click(object sender, EventArgs e)
textBox3.Text = Convert.ToString(koren(Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text)));
Здесь у нас 19 кнопок Button , 1 Textbox и ещё 1 пустой Label
Создаём форму. Увеличим ширину TextBox’a , используя MultiLine :
Также в Свойствах мы увеличили размер шрифта в TextBox’e и Label’e до 12 пт.
Теперь делаем так, чтобы при нажатии на цифровые кнопки, в TextBox’e появлялась соответствующая цифра.
Для этого дважды кликаем на кнопке “0” и в открывшемся коде пишем
private void button17_Click(object sender, EventArgs e)
textBox1.Text = textBox1.Text + 0;
private void button13_Click(object sender, EventArgs e)
textBox1.Text = textBox1.Text + 1;
private void button14_Click(object sender, EventArgs e)
textBox1.Text = textBox1.Text + 2;
private void button15_Click(object sender, EventArgs e)
textBox1.Text = textBox1.Text + 3;
private void button9_Click(object sender, EventArgs e)
textBox1.Text = textBox1.Text + 4;
private void button10_Click(object sender, EventArgs e)
textBox1.Text = textBox1.Text + 5;
private void button11_Click(object sender, EventArgs e)
textBox1.Text = textBox1.Text + 6;
private void button5_Click(object sender, EventArgs e)
textBox1.Text = textBox1.Text + 7;
private void button6_Click(object sender, EventArgs e)
textBox1.Text = textBox1.Text + 8;
private void button7_Click(object sender, EventArgs e)
textBox1.Text = textBox1.Text + 9;
private void button18_Click(object sender, EventArgs e)
bool znak = true;
Кнопки нажимаются, в TextBox’e отображаются нажатые цифры. Теперь надо научить программу производить с ними какие-либо операции. Как видно из формы, наш калькулятор сможет производить стандартные математические операции: сложение, вычитание, умножение и деление. Для начала мы создадим в самом начале программы несколько переменных, которые нам для этого понадобятся:
Первым двум переменным будут присваиваться значения, набранные пользователем в калькуляторе. В последствии с ними будут производиться нужные математические операции. Тип float – это тип с плавающей точкой, позволяющий работать с десятичными дробями, что нам, безусловно, нужно при наличии кнопки “.” .
Благодаря второй переменной мы будем давать программе указания, какую именно операцию производить с переменными, описанными выше. Здесь нам не нужна дробь, поэтому обойдёмся целочисленным типом int .
Последняя переменная znak нам понадобится для того, чтобы менять знаки у введённых чисел. Тип bool может иметь два значения – ture и false . Мы представим, что если znak имеет значение true в программе, то это означает, что у числа знак + , если false – число отрицательное и перед собой имеет знак — . Изначально в калькуляторе вбиваются положительные числа, поэтому мы сразу присвоили переменной значение true .
Далее мы дважды нажимаем на кнопку “+” , обозначающую сложение, на форме и пишем следующий код:
В строке 3 мы присваиваем первой переменной a то, что будет написано в TextBox’e (а именно число, которое введёт пользователь перед тем, как нажать кнопку “+” ).
Затем TextBox очищается, число, введённое пользователем, в нём пропадает (но остаётся в переменной a )
Переменной count присваивается число 1, которая потом укажет программе, что именно операцию сложения надо будет произвести с числами.
Затем в Label записывается число из переменной a (то самое, которое изначально ввёл пользователь) и знак плюса. Выглядеть в форме это будет так, как описано ниже.
Пользователь вводит какое-либо число:
Разница лишь в значении переменной count и в том, какой знак добавляется в Label’e .
Далее нам понадобится создать функцию, которая будет применять нужные нам математические операции к числам. Назовём её calculate . Но перед этим мы кликнем дважды на кнопку “=” на форме и в коде к ней мы запишем:
То есть, при нажатии пользователем на кнопку “=” , как раз выполнится наша функция подсчёта calculate , и, заодно, очистится Label , так как результат мы в будущем коде выведем в TextBox .
Теперь-таки создаём нашу функцию calculate и пишем следующий код:
Здесь мы используем конструкцию switch-case .
Switch – это оператор управления. Он может включать в себя несколько case’ов . Case – метки, от значения которых зависит, какие операции будут происходить.
Строка switch(count) означает, что именно от значения count будет зависеть, какое действие будет происходить в коде switch’a .
Итак, если count=1 (в коде case 1: ), то произойдёт следующее:
После того, как пользователь нажал “+” , он, естественно, должен ввести второе слагаемое, что он и делает по стандартному сценарию, а затем нажать кнопку “=” (и в ней, как мы помним, как раз выполнится наша функция).
Как только кнопка “=” будет нажата, программа сложит число из переменной a с тем вторым слагаемым, которое записал пользователь в TextBox , и запишет результат в переменную b (строка 6 кода функции). В строке 7 программа выведет в TextBox результат сложения – переменную b .
Оператор break (строка 8) завершает исполнение кода switch при выполнении кода метки case 1 , так как больше нам в нём делать нечего.
Точно так же строится алгоритм при case 2 , case 3 и case 4 с той разницей, что в них происходит не сложение, а вычитание, умножение и деление соответственно.
Оператор default срабатывает, если вдруг что-то пойдёт не по плану и count примет какое-либо иное значение, не описанное в switch . Тогда срабатывает лишь оператор break .
Львиная доля программы готова. Нам надо лишь написать код для трёх оставшихся нетронутыми до этого время кнопок.
Дважды жмём в форме на кнопку “С” . Она будет очищать все записи из TextBox’a и Label’a .