C#實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器小程序
作為一個(gè)程序員,如何從淺入深的訓(xùn)練自己的技術(shù),可以通過一些小程序來訓(xùn)練
下面簡(jiǎn)單介紹一下如何制作一個(gè)簡(jiǎn)單的計(jì)算器小程序
如下為制作之后的小程序截圖

代碼段 其中計(jì)算用了dataTable的一個(gè)函數(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;//計(jì)算字符串
? ? ? ? //等于的 等于按鈕處理
? ? ? ? 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)))//判斷最后一位為四則運(yùn)算符,則去掉
? ? ? ? ? ? {
? ? ? ? ? ? ? ? CurStr = CurStr.Substring(CurStr.Length - 1);
? ? ? ? ? ? }
? ? ? ? ? ? if (string.IsNullOrEmpty(CurStr))//若此時(shí)為空則賦值計(jì)算結(jié)果零值
? ? ? ? ? ? {
? ? ? ? ? ? ? ? this.Text_JM.Text = "0";
? ? ? ? ? ? ? ? return;
? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? CurStr = Convert.ToString(dt.Compute(CurStr, string.Empty));//若滿足條件 則計(jì)算 使用 DataTable的計(jì)算形式
? ? ? ? ? ? ? ? this.Text_JM.Text = CurStr;//計(jì)算結(jié)果賦值給Text
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? //數(shù)值加入 // 里面包含數(shù)據(jù)只計(jì)算
? ? ? ? private void ValueClick(string ClickV)
? ? ? ? {
? ? ? ? ? ? //進(jìn)行判斷,判斷點(diǎn)擊的是否是非空數(shù)值或者小數(shù)位數(shù)
? ? ? ? ? ? if (!string.IsNullOrEmpty(ClickV))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if (ClickV == "." && string.IsNullOrEmpty(CurStr))//第一位為小數(shù)位數(shù)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? CurStr = "0.";//如果首先點(diǎn)擊了小數(shù)位數(shù) 自動(dòng)在前面增加零值
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else if (ClickV == ".")//如果已經(jīng)存在小數(shù)位數(shù),不可以再輸入
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? if (!CurStr.Contains("."))
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? CurStr = CurStr + ".";
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else CurStr = CurStr + ClickV;
? ? ? ? ? ? ? ? this.Text_JM.Text = CurStr;//把字符串復(fù)制給前臺(tái)顯示的text中
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? //四則運(yùn)算符號(hào)處理
? ? ? ? private void ValueCalculate(string Key)
? ? ? ? {
? ? ? ? ? ? if (string.IsNullOrEmpty(CurStr))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return;
? ? ? ? ? ? }
? ? ? ? ? ? if (CurStr.Substring(CurStr.Length - 1, 1) == ".")
? ? ? ? ? ? {
? ? ? ? ? ? ? ? CurStr = CurStr + "0";//若是最后一位為小數(shù) 自動(dòng)后面補(bǔ)齊一個(gè)零值
? ? ? ? ? ? }
? ? ? ? ? ? List<string> KeyList=new List<string>{"+","-","*","/"};
? ? ? ? ? ? if (KeyList.Contains(CurStr.Substring(CurStr.Length - 1, 1)))//若最后一位已經(jīng)是四則運(yùn)算符號(hào),則不再操作
? ? ? ? ? ? {
? ? ? ? ? ? ? ? return;//最后一位目前已經(jīng)是符號(hào)
? ? ? ? ? ? }
? ? ? ? ? ? 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ù)點(diǎn)
? ? ? ? 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
? ? }
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- C#計(jì)算器編寫代碼
- C#編寫的windows計(jì)算器的實(shí)例代碼
- C#開發(fā)簡(jiǎn)易winform計(jì)算器程序
- C#實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器功能完整實(shí)例
- C#實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能
- C#實(shí)現(xiàn)簡(jiǎn)單加減乘除計(jì)算器
- C#實(shí)現(xiàn)Winform版計(jì)算器
- C#實(shí)現(xiàn)的簡(jiǎn)單整數(shù)四則運(yùn)算計(jì)算器功能示例
- c#入門之實(shí)現(xiàn)簡(jiǎn)易存款利息計(jì)算器示例
- C# WinForm程序設(shè)計(jì)簡(jiǎn)單計(jì)算器
相關(guān)文章
Unity UGUI的GridLayoutGroup網(wǎng)格布局組件使用詳解
這篇文章主要介紹了Unity UGUI的GridLayoutGroup網(wǎng)格布局組件使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
C#實(shí)現(xiàn)字符串與圖片的Base64編碼轉(zhuǎn)換操作示例
這篇文章主要介紹了C#實(shí)現(xiàn)字符串與圖片的Base64編碼轉(zhuǎn)換操作,結(jié)合實(shí)例形式分析了C#針對(duì)base64編碼與圖片的相互轉(zhuǎn)換操作技巧,需要的朋友可以參考下2017-06-06
Unity封裝延時(shí)調(diào)用定時(shí)器
這篇文章主要為大家詳細(xì)介紹了Unity封裝延時(shí)調(diào)用定時(shí)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04
使用C#實(shí)現(xiàn)讀取PDF中所有文本內(nèi)容
這篇文章主要為大家詳細(xì)介紹了如何使用C#實(shí)現(xiàn)讀取PDF中所有文本內(nèi)容,文中的示例代碼簡(jiǎn)潔易懂,具有一定的學(xué)習(xí)價(jià)值,有需要的小伙伴可以了解下2024-02-02
C#中派生類調(diào)用基類構(gòu)造函數(shù)用法分析
這篇文章主要介紹了C#中派生類調(diào)用基類構(gòu)造函數(shù)用法,實(shí)例分析了派生類調(diào)用基類構(gòu)造函數(shù)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04
C#實(shí)現(xiàn)路由器斷開連接,更改公網(wǎng)ip的實(shí)例代碼
C#實(shí)現(xiàn)路由器斷開連接,更改公網(wǎng)ip的實(shí)例代碼,需要的朋友可以參考一下2013-05-05

