網站首頁 編程語言 正文
作為一個程序員,如何從淺入深的訓練自己的技術,可以通過一些小程序來訓練
下面簡單介紹一下如何制作一個簡單的計算器小程序
如下為制作之后的小程序截圖
代碼段 其中計算用了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
相關推薦
- 2022-06-07 淺談Python中對象是如何被調用的_python
- 2022-04-12 Oracle同步數據到kafka的方法_oracle
- 2022-04-07 Nginx各個模塊的配置及常用配置選項_nginx
- 2023-12-13 記錄choice函數用法
- 2022-07-31 教你用python實現一個加密的文字處理器_python
- 2023-11-17 Linux centos創建用戶以及賦予sudo權限
- 2022-03-30 pytorch中的dataset用法詳解_python
- 2022-06-08 記錄linux ens33網卡啟動失敗的問題
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支