亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#實現(xiàn)簡單的計算器小程序

 更新時間:2022年01月31日 13:07:39   作者:筆下無書生  
這篇文章主要為大家詳細介紹了C#實現(xiàn)簡單的計算器小程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C# 創(chuàng)建、部署和調(diào)用WebService簡單示例

    C# 創(chuàng)建、部署和調(diào)用WebService簡單示例

    這篇文章主要為大家詳細介紹了C# 創(chuàng)建、部署和調(diào)用WebService的簡單示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • C#多種操作excel的方法比較

    C#多種操作excel的方法比較

    本文詳細講解了C#多種操作excel的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • C# WebApi 接口傳參詳解

    C# WebApi 接口傳參詳解

    這篇文章主要介紹了C# WebApi 接口傳參詳解,本篇打算通過get、post、put、delete四種請求方式分別談?wù)劵A(chǔ)類型(包括int/string/datetime等)、實體、數(shù)組等類型的參數(shù)如何傳遞。感興趣的小伙伴們可以參考一下
    2018-07-07
  • 詳解C#的排列組合

    詳解C#的排列組合

    本文詳細介紹了C#中的排列組合以及具體實現(xiàn)代碼,如下所示,希望對大家有所幫助
    2016-11-11
  • 關(guān)于C#連接SQL Server時提示用戶登錄失敗的解決方法

    關(guān)于C#連接SQL Server時提示用戶登錄失敗的解決方法

    在用C#開發(fā)windows端程序并連接SQL Server時有可能會遇到數(shù)據(jù)庫登錄失敗的問題,下面小編給大家?guī)砹薈#連接SQL Server時提示用戶登錄失敗的解決方法,感興趣的朋友一起看看吧
    2021-11-11
  • 淺談Async和Await如何簡化異步編程(幾個實例讓你徹底明白)

    淺談Async和Await如何簡化異步編程(幾個實例讓你徹底明白)

    本篇文章主要介紹了淺談Async和Await如何簡化異步編程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • 詳解如何在C#/.NET Core中使用責任鏈模式

    詳解如何在C#/.NET Core中使用責任鏈模式

    這篇文章主要介紹了詳解如何在C#/.NET Core中使用責任鏈模式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • C#開啟線程的四種方式示例詳解

    C#開啟線程的四種方式示例詳解

    今天小編就為大家分享一篇關(guān)于C#開啟線程的四種方式示例詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • C#  ADO.NET 離線查詢的實現(xiàn)示例

    C# ADO.NET 離線查詢的實現(xiàn)示例

    這篇文章主要介紹了C# ADO.NET 離線查詢的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • C#數(shù)據(jù)庫操作小結(jié)

    C#數(shù)據(jù)庫操作小結(jié)

    每次做項目都會用到數(shù)據(jù)庫,對數(shù)據(jù)庫的操作都是糊里糊涂從書里找代碼用。通過昨天晚上與今天早上的努力,把數(shù)據(jù)庫的操作整理了一下,下面把整理結(jié)果做個小結(jié)
    2012-09-09

最新評論