收藏 分销(赏)

C#简单计算器设计.doc

上传人:pc****0 文档编号:7729700 上传时间:2025-01-14 格式:DOC 页数:10 大小:176KB 下载积分:10 金币
下载 相关 举报
C#简单计算器设计.doc_第1页
第1页 / 共10页
C#简单计算器设计.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
C#程序设计 简单计算器 大家都知道,计算器是日常生活中不可缺少的一个工具,在Microsoft的Windows操作系统中,附带了一个计算器程序,有标准型和科学型两种模式。Windows XP下的标准型和科学型计算器程序分别如图2-1和图2-2所示。 图2-1 Windows XP下的标准型计算器 图2-2 Windows XP下的科学型计算器 Windows操作系统下附带的计算器程序功能相当的强大,本课我们将模仿Windows的计算器,使用Visual C# 2005开发平台开发一个功能相对简单的计算器应用程序,它能完成加、减、乘、除运算。 2.2 界面设计及属性设置 用户界面设计是软件开发中非常重要的一个部分,用户界面的好坏直接影响软件的质量,本节将介绍如何设计简易计算器的用户界面以及界面上各控件的属性设置。 2.2.1 界面设计 打开Visual Studio 2005开发工具,新建一个Windows应用程序,然后在窗体上依次放置1个TextBox和17个Button控件,如图2-1所示(设置好属性后)。 图2-1 计算器用户界面 2.2.2 属性设置 窗体和各控件的属性设置如表2-1所示。 表2-1 窗体和各控件的属性 控件类型 控件名称 属性 设置结果 Form Form1 Text 计算器 StartPosition CenterScreen MaximizeBox False AutoSizeMode GrowAndShrink TextBox TextBox1 Name txtReadout ReadOnly True Button Button1 Name btnNum7 Text 7 Button2 Name btnNum8 Text 8 Button3 Name btnNum9 Text 9 Button4 Name btnAdd Text + ForeColor Red Button5 Name btnSub Text - ForeColor Red Button6 Name btnNum4 Text 4 Button7 Name btnNum5 Text 5 Button8 Name btnNum6 Text 6 Button9 Name btnMul Text * ForeColor Red Button10 Name btnDiv Text / ForeColor Red Button11 Name btnNum1 Text 1 Button12 Name btnNum2 Text 2 Button13 Name btnNum3 Text 3 Button14 Name btnNum0 Text 0 Button15 Name btnDot Text . Button16 Name btnC Text C ForeColor Red Button17 Name btnAmount Text = ForeColor Red 2.3 编写代码 本程序需要用到一些公共变量,例如用来接收操作数、运算结果,判断输入的是否为小数等,因此首先在代码的通用段声明以下变量: //****************************************************************** double num1, num2, result; // 操作数及运算结果 bool decimalFlag = false; // 判断输入的是否为小数 string myOperator; // 操作类型 //****************************************************************** 接下来编写一个名为“NumClick”的方法,单击数字按钮时,调用NumClick方法,将输入的数字追加到文本框中,代码如下: //****************************************************************** // 单击数字按钮时,调用如下NumClick方法 //****************************************************************** public void NumClick(int myNumber) { if (decimalFlag) // 输入小数 { txtReadout.Text = txtReadout.Text + myNumber; } else { if (txtReadout.Text == "0.") // 输入整数 { // 输入的是整数的第一个数字 txtReadout.Text = myNumber + "."; } else { // 输入的不是整数的第一个数字 txtReadout.Text = txtReadout.Text.Substring (0, txtReadout.Text.Length - 1) + myNumber + "."; } } } //****************************************************************** 编写窗体的载入事件代码如下: //****************************************************************** // 窗体载入事件代码 //****************************************************************** private void Form1_Load(object sender, EventArgs e) { txtReadout.Text = "0."; // 指定文本框的对齐方式为右对齐 txtReadout.TextAlign = HorizontalAlignment.Right; } //****************************************************************** //****************************************************************** 编写数字按钮【0】~【9】的单击事件代码如下: //****************************************************************** // 数字按钮【0】~【9】的单击事件代码 //****************************************************************** private void btnNum0_Click(object sender, EventArgs e) { NumClick(0); } private void btnNum1_Click(object sender, EventArgs e) { NumClick(1); } private void btnNum2_Click(object sender, EventArgs e) { NumClick(2); } private void btnNum3_Click(object sender, EventArgs e) { NumClick(3); } private void btnNum4_Click(object sender, EventArgs e) { NumClick(4); } private void btnNum5_Click(object sender, EventArgs e) { NumClick(5); } private void btnNum6_Click(object sender, EventArgs e) { NumClick(6); } private void btnNum7_Click(object sender, EventArgs e) { NumClick(7); } private void btnNum8_Click(object sender, EventArgs e) { NumClick(8); } private void btnNum9_Click(object sender, EventArgs e) { NumClick(9); } //****************************************************************** //****************************************************************** 编写小数点按钮【.】的单击事件代码如下: //****************************************************************** // 【.】按钮的单击事件代码 //****************************************************************** private void btnDot_Click(object sender, EventArgs e) { decimalFlag = true; // 输入小数点 } //****************************************************************** //****************************************************************** 编写复位按钮【C】的单击事件代码如下: //****************************************************************** // 【C】按钮的单击事件代码 //****************************************************************** private void btnC_Click(object sender, EventArgs e) { num1 = 0; num2 = 0; txtReadout.Text = "0."; decimalFlag = false; } //****************************************************************** //****************************************************************** 编写【+】、【-】、【*】、【/】按钮的单击事件代码如下: //****************************************************************** // 【+】、【-】、【*】、【/】按钮的单击事件代码 //****************************************************************** private void btnAdd_Click(object sender, EventArgs e) { myOperator = "add"; num1 = double.Parse(txtReadout.Text); txtReadout.Text = "0."; decimalFlag = false; } private void btnSub_Click(object sender, EventArgs e) { myOperator = "Sub"; num1 = double.Parse(txtReadout.Text); txtReadout.Text = "0."; decimalFlag = false; } private void btnMul_Click(object sender, EventArgs e) { myOperator = "Mul"; num1 = double.Parse(txtReadout.Text); txtReadout.Text = "0."; decimalFlag = false; } private void btnDiv_Click(object sender, EventArgs e) { myOperator = "Div"; num1 = double.Parse(txtReadout.Text); txtReadout.Text = "0."; decimalFlag = false; } //****************************************************************** //****************************************************************** 最后编写【=】按钮的单击事件代码如下: //****************************************************************** // 【=】按钮的单击事件代码 //****************************************************************** private void btnAmount_Click(object sender, EventArgs e) { num2 = double.Parse(txtReadout.Text); switch (myOperator) { case "add": result = num1 + num2; txtReadout.Text = result.ToString(); break; case "Sub": result = num1 - num2; txtReadout.Text = result.ToString(); break; case "Mul": result = num1 * num2; txtReadout.Text = result.ToString(); break; case "Div": if (num2 == 0) { txtReadout.Text = "除数不能为“0”!"; } else { result = num1 / num2; txtReadout.Text = result.ToString(); } break; } } //****************************************************************** //****************************************************************** 2.4 运行结果 运行程序,计算加法“23 + 1.8”,结果如图2-4所示。 图2-4 加法运算 单击【C】按钮,再计算减法“2.3 - 18”,结果如图2-5所示。 图2-5 减法运算 单击【C】按钮,再计算乘法“2.3 × 1.8”,结果如图2-6所示。 图2-6 乘法运算 单击【C】按钮,再计算除法“23.18 ÷ 0”,结果如图2-7所示。 图2-7 除数为“0”的除法运算 单击【C】按钮,再计算除法“2.3 ÷ 1.8”,结果如图2-8所示。 图2-8 除法运算 程序,实现sqrt、1/x、%运算。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服