日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C#實現簡單的計算器小程序_C#教程

作者:筆下無書生 ? 更新時間: 2022-04-11 編程語言

作為一個程序員,如何從淺入深的訓練自己的技術,可以通過一些小程序來訓練
下面簡單介紹一下如何制作一個簡單的計算器小程序

如下為制作之后的小程序截圖

代碼段 其中計算用了dataTable的一個函數
dt.Compute(CurStr, string.Empty)

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 Calculate
{
? ? public partial class CalculateFrom : Form
? ? {
? ? ? ? public CalculateFrom()
? ? ? ? {
? ? ? ? ? ? InitializeComponent();
? ? ? ? }
? ? ? ? private string FhStr = string.Empty;
? ? ? ? private string CurStr = string.Empty;//計算字符串
? ? ? ? //等于的 等于按鈕處理
? ? ? ? private void Click_DENG_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? DataTable dt = new DataTable();
? ? ? ? ? ? if (string.IsNullOrEmpty(CurStr))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return;
? ? ? ? ? ? }
? ? ? ? ? ? List<string> KeyList = new List<string> { "+", "-", "*", "/" };
? ? ? ? ? ? if (KeyList.Contains(CurStr.Substring(CurStr.Length - 1)))//判斷最后一位為四則運算符,則去掉
? ? ? ? ? ? {
? ? ? ? ? ? ? ? CurStr = CurStr.Substring(CurStr.Length - 1);
? ? ? ? ? ? }
? ? ? ? ? ? if (string.IsNullOrEmpty(CurStr))//若此時為空則賦值計算結果零值
? ? ? ? ? ? {
? ? ? ? ? ? ? ? this.Text_JM.Text = "0";
? ? ? ? ? ? ? ? return;
? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? CurStr = Convert.ToString(dt.Compute(CurStr, string.Empty));//若滿足條件 則計算 使用 DataTable的計算形式
? ? ? ? ? ? ? ? this.Text_JM.Text = CurStr;//計算結果賦值給Text
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? //數值加入 // 里面包含數據只計算
? ? ? ? private void ValueClick(string ClickV)
? ? ? ? {
? ? ? ? ? ? //進行判斷,判斷點擊的是否是非空數值或者小數位數
? ? ? ? ? ? if (!string.IsNullOrEmpty(ClickV))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if (ClickV == "." && string.IsNullOrEmpty(CurStr))//第一位為小數位數
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? CurStr = "0.";//如果首先點擊了小數位數 自動在前面增加零值
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else if (ClickV == ".")//如果已經存在小數位數,不可以再輸入
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? if (!CurStr.Contains("."))
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? CurStr = CurStr + ".";
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else CurStr = CurStr + ClickV;
? ? ? ? ? ? ? ? this.Text_JM.Text = CurStr;//把字符串復制給前臺顯示的text中
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? //四則運算符號處理
? ? ? ? private void ValueCalculate(string Key)
? ? ? ? {
? ? ? ? ? ? if (string.IsNullOrEmpty(CurStr))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return;
? ? ? ? ? ? }
? ? ? ? ? ? if (CurStr.Substring(CurStr.Length - 1, 1) == ".")
? ? ? ? ? ? {
? ? ? ? ? ? ? ? CurStr = CurStr + "0";//若是最后一位為小數 自動后面補齊一個零值
? ? ? ? ? ? }
? ? ? ? ? ? List<string> KeyList=new List<string>{"+","-","*","/"};
? ? ? ? ? ? if (KeyList.Contains(CurStr.Substring(CurStr.Length - 1, 1)))//若最后一位已經是四則運算符號,則不再操作
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return;//最后一位目前已經是符號
? ? ? ? ? ? }
? ? ? ? ? ? CurStr = CurStr + Key;
? ? ? ? ? ? this.Text_JM.Text = CurStr;
? ? ? ? }
? ? ? ? #region 數值
? ? ? ? private void Click_1_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? ValueClick("1");
? ? ? ? }

? ? ? ? private void Click_2_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? ValueClick("2");

? ? ? ? }

? ? ? ? private void Click_3_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? ValueClick("3");
? ? ? ? }

? ? ? ? private void Click_4_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? ValueClick("4");
? ? ? ? }

? ? ? ? private void Click_5_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? ValueClick("5");
? ? ? ? }

? ? ? ? private void Click_6_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? ValueClick("6");
? ? ? ? }

? ? ? ? private void Click_7_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? ValueClick("7");
? ? ? ? }

? ? ? ? private void Click_8_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? ValueClick("8");
? ? ? ? }

? ? ? ? private void Click_9_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? ValueClick("9");
? ? ? ? }

? ? ? ? private void Click_0_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? ValueClick("0");
? ? ? ? }
? ? ? ? //小數點
? ? ? ? private void Click_C_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? ValueClick(".");
? ? ? ? }
? ? ? ? #endregion

? ? ? ? #region 加減乘除
? ? ? ? private void Click_A_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? ValueCalculate("+");
? ? ? ? }

? ? ? ? private void Click_R_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? ValueCalculate("-");

? ? ? ? }

? ? ? ? private void Click_X_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? ValueCalculate("*");

? ? ? ? }

? ? ? ? private void Click_L_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? ValueCalculate("/");

? ? ? ? }
? ? ? ? #endregion
? ? }
}

原文鏈接:https://blog.csdn.net/weixin_45005931/article/details/90109080

欄目分類
最近更新