博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 计算器窗体程序
阅读量:3952 次
发布时间:2019-05-24

本文共 7806 字,大约阅读时间需要 26 分钟。

目录

功能设计

1、计算器中,添加 0-9 共十个数字键。

2、计算器中,增添 加、减、乘、除、等于五个功能键。

3、计算器中,增加四个功能键:x2,sqrt,log, ln 四个键,分别计算求平方,开方。

实现代码

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace test3_1{
public partial class Form1 : Form {
double result = 0; //存储计算结果 double number = 0; //存储输入的数字 bool exist_value = false; //判断文本框中是否有值 string operation; //存储输入的运算符 /* * 初始化 */ public Form1() {
InitializeComponent(); } /* * 数字键触发事件实现 */ private void Seven_Click(object sender, EventArgs e) {
if (exist_value == true) {
textBox1.Text = ""; exist_value = false; } textBox1.Text += "7"; } private void Eight_Click(object sender, EventArgs e) {
if (exist_value == true) {
textBox1.Text = ""; exist_value = false; } textBox1.Text += "8"; } private void Nine_Click(object sender, EventArgs e) {
if (exist_value == true) {
textBox1.Text = ""; exist_value = false; } textBox1.Text += "9"; } private void Four_Click(object sender, EventArgs e) {
if (exist_value == true) {
textBox1.Text = ""; exist_value = false; } textBox1.Text += "4"; } private void Five_Click(object sender, EventArgs e) {
if (exist_value == true) {
textBox1.Text = ""; exist_value = false; } textBox1.Text += "5"; } private void Six_Click(object sender, EventArgs e) {
if (exist_value == true) {
textBox1.Text = ""; exist_value = false; } textBox1.Text += "6"; } private void One_Click(object sender, EventArgs e) {
if (exist_value == true) {
textBox1.Text = ""; exist_value = false; } textBox1.Text += "1"; } private void Two_Click(object sender, EventArgs e) {
if (exist_value == true) {
textBox1.Text = ""; exist_value = false; } textBox1.Text += "2"; } private void Three_Click(object sender, EventArgs e) {
if (exist_value == true) {
textBox1.Text = ""; exist_value = false; } textBox1.Text += "3"; } private void Zero_Click(object sender, EventArgs e) {
if (exist_value == true) {
textBox1.Text = ""; exist_value = false; } textBox1.Text += "0"; } /* * 功能键触发事件 */ private void Add_Click(object sender, EventArgs e) {
if (textBox1.Text == "") {
MessageBox.Show("请先输入值再计算!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else {
exist_value = true; number = double.Parse(textBox1.Text); operation = "+"; } } private void Sub_Click(object sender, EventArgs e) {
if (textBox1.Text == "") {
MessageBox.Show("请先输入值再计算!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else {
exist_value = true; number = double.Parse(textBox1.Text); operation = "-"; } } private void Mul_Click(object sender, EventArgs e) {
if (textBox1.Text == "") {
MessageBox.Show("请先输入值再计算!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else {
exist_value = true; number = double.Parse(textBox1.Text); operation = "*"; } } private void Div_Click(object sender, EventArgs e) {
if (textBox1.Text == "") {
MessageBox.Show("请先输入值再计算!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else {
exist_value = true; number = double.Parse(textBox1.Text); operation = "/"; } } private void Squ_Click(object sender, EventArgs e) {
if (textBox1.Text == "") {
MessageBox.Show("请先输入值再计算!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else {
exist_value = true; number = double.Parse(textBox1.Text); operation = "x^2"; } } private void Sqrt_Click(object sender, EventArgs e) {
if (textBox1.Text == "") {
MessageBox.Show("请先输入值再计算!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else {
exist_value = true; number = double.Parse(textBox1.Text); operation = "sqrt"; } } private void Log_Click(object sender, EventArgs e) {
if (textBox1.Text == "") {
MessageBox.Show("请先输入值再计算!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else {
exist_value = true; number = double.Parse(textBox1.Text); operation = "log"; } } private void Ln_Click(object sender, EventArgs e) {
if (textBox1.Text == "") {
MessageBox.Show("请先输入值再计算!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else {
exist_value = true; number = double.Parse(textBox1.Text); operation = "ln"; } } private void Del_Click(object sender, EventArgs e) {
textBox1.Text = ""; } private void Equ_Click(object sender, EventArgs e) {
switch (operation) {
case "+": result = number + double.Parse(textBox1.Text); break; case "-": result = number - double.Parse(textBox1.Text); break; case "*": result = number * double.Parse(textBox1.Text); break; case "/": {
double temp=double.Parse(textBox1.Text); if (temp != 0) result = number / temp; else MessageBox.Show("除数不能为零", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); break; } case "x^2": result = number * number; break; case "sqrt": result = Math.Sqrt(number); break; case "log": result = Math.Log10(number); break; case "ln": result = Math.Log(number); break; } textBox1.Text = result + ""; exist_value = true; } }}

界面设计

在这里插入图片描述

运行结果

在这里插入图片描述

转载地址:http://jjuzi.baihongyu.com/

你可能感兴趣的文章
android系统关机流程
查看>>
malloc,calloc,realloc等内存分配函数区别
查看>>
android JNI 学习笔记
查看>>
linux内核基本数据类型总结
查看>>
linux内核基本数据类型总结
查看>>
strstr
查看>>
isspace
查看>>
tolower
查看>>
Linux 2.6 字符设备驱动程序
查看>>
Linux 用户态与内核态的交互——netlink 篇
查看>>
Android 的用户层 uevent处理机制
查看>>
linux内核register_chrdev_region()系列函数
查看>>
嵌入式C语言中的volatile关键字
查看>>
Linux驱动程序开发 - 设备驱动模型初探
查看>>
Android之 BatteryService
查看>>
Android init初始化程序分析
查看>>
浅析dev目录下设备文件mknod节点gid,uid和mode的如何方便设置
查看>>
Android 加速度传感器 (G-Sensor) 收
查看>>
Linux 下如何 做patch 和打patch
查看>>
device_driver结构体
查看>>