C#写的简单的计算器DOC.docx
- 文档编号:8876638
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:11
- 大小:17.04KB
C#写的简单的计算器DOC.docx
《C#写的简单的计算器DOC.docx》由会员分享,可在线阅读,更多相关《C#写的简单的计算器DOC.docx(11页珍藏版)》请在冰豆网上搜索。
C#写的简单的计算器DOC
《C#程序设计》课程设计
题目:
普通计算器
专业:
计算机应用技术
学号:
姓名:
指导老师:
完成日期:
20130621
目录
1前言2
2需求分析2
2.1要求2
2.2任务2
2.3运行环境2
2.4开发工具2
3编码与实现2
3.1分析2
3.2具体代码实现3
4课程设计总结10
1前言
用C#编写一个程序来进行加、减、乘和除运算,就是一个按输入顺序尽心计算的计算器。
其功能比较单一,只可以进行加减乘除计算。
设计中的体会使我受益匪浅。
2需求分析
2.1要求
(1)用C#语言实现程序设计;
(2)利用button控件和textbox实现程序;
(3)界面友好(良好的人机互交),程序要有部分注释。
2.2任务
(1)定义一个double类型的numble1变量,用来存储每次运算的结果。
并具备计算器的基本功能。
(2)画出所有模块的流程图;
(3)编写代码;
(4)程序分析与调试。
2.3运行环境
(1)windowsXP/windows7系统
(2)MicrosoftVisualStudio2008/MicrosoftVisualStudio2010编译环境
2.4开发工具
C#语言
3编码与实现
3.1分析
设计的基本思想是:
向textbox输入一个string类型的字符串作为第一个数,在点击运输符号位时,将textbox.Text中的string字符串转化成double类型并存储在numble1中,在输入第二个字符串时把textbox.Text清空且该控件代表的字符累加到textbox.Text中;只有在点击运算符号位后才会在点击数字是textbox.Text才会被清空。
在点击运算符号位时,就进行两次输入数的运算,并在textbox.Text中输出结果。
当下一次点击符号位时就进行本次符号的运算。
3.2具体代码实现
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
namespace计算器
{
publicpartialclassForm1:
Form
{
publicForm1()
{
InitializeComponent();
}
doublenumble1=0;
doublenumble2=0;
stringsign="";
boolclear=false;
boolclear1=false;
boolpoint=false;
privatevoidForm1_Load(objectsender,EventArgse)//初始化textbox
{
textBox1.Text="0";
}
privatevoidbutton_add_Click(objectsender,EventArgse)//进行上一个运算符号的运算并将运算符号改为加号
{
if(0==numble2)//用于限制只有在等号之后才不进行运算,避免重复运算
{
fork();
}
clear_1();
numble1+=Convert.ToDouble(textBox1.Text);
sign="+";
clear=false;
clear1=true;
numble2=0;
point=false;
textBox1.Text=numble1.ToString();
}
privatevoidbutton_sub_Click(objectsender,EventArgse)//进行上一个运算符号的运算并将运算符号改为减号
{
if(0==numble2)//用于限制只有在等号之后才不进行运算,避免重复运算
{
fork();
}
if(clear1==false)
{
numble1=Convert.ToDouble(textBox1.Text);
clear1=true;
}
sign="-";
clear=false;
point=false;
numble2=0;
//
textBox1.Text=numble1.ToString();
}
privatevoidbutton_mul_Click(objectsender,EventArgse)//进行上一个运算符号的运算并将运算符号改为乘号
{
if(0==numble2)//用于限制只有在等号之后才不进行运算,避免重复运算
{
fork();
}
if(clear1==false)
{
numble1=Convert.ToDouble(textBox1.Text);
clear1=true;
}
sign="*";
clear=false;
point=false;
numble2=0;
textBox1.Text=numble1.ToString();
}
privatevoidbutton_divi_Click(objectsender,EventArgse)//进行上一个运算符号的运算并将运算符号改为除号
{
if(0==numble2)//用于限制只有在等号之后才不进行运算,避免重复运算
{
fork();
}
if(clear1==false)
{
numble1=Convert.ToDouble(textBox1.Text);
clear1=true;
}
sign="/";
clear=false;
point=false;
numble2=0;
textBox1.Text=numble1.ToString();
}
privatevoidbutton_equ_Click(objectsender,EventArgse)//进行运算并输出结果
{
switch(sign)
{
case("+"):
numble1+=Convert.ToDouble(textBox1.Text);
break;
case("-"):
numble1-=Convert.ToDouble(textBox1.Text);
break;
case("*"):
numble1*=Convert.ToDouble(textBox1.Text);
break;
case("/"):
if(0==Convert.ToDouble(textBox1.Text))
{
clear=false;
MessageBox.Show("被除数不可以为零!
请重新输入!
","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
else
{
numble1/=Convert.ToDouble(textBox1.Text);
}
break;
default:
break;
}
numble2=1;
clear1=true;
point=false;
textBox1.Text=numble1.ToString();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
clear_0();
textBox1.Text=textBox1.Text+"1";
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
clear_0();
textBox1.Text=textBox1.Text+"2";
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
clear_0();
textBox1.Text=textBox1.Text+"3";
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
clear_0();
textBox1.Text=textBox1.Text+"4";
}
privatevoidbutton5_Click(objectsender,EventArgse)
{
clear_0();
textBox1.Text=textBox1.Text+"5";
}
privatevoidbutton6_Click(objectsender,EventArgse)
{
clear_0();
textBox1.Text=textBox1.Text+"6";
}
privatevoidbutton7_Click(objectsender,EventArgse)
{
clear_0();
textBox1.Text=textBox1.Text+"7";
}
privatevoidbutton8_Click(objectsender,EventArgse)
{
clear_0();
textBox1.Text=textBox1.Text+"8";
}
privatevoidbutton9_Click(objectsender,EventArgse)
{
clear_0();
textBox1.Text=textBox1.Text+"9";
}
privatevoidbutton0_Click(objectsender,EventArgse)
{
clear_0();
textBox1.Text=textBox1.Text+"0";
}
privatevoidbutton_point_Click(objectsender,EventArgse)//限制输入小数点的个数,在同一个字符串中只可以输入一个小数点
{
if(false==point)
{
textBox1.Text=textBox1.Text+".";
point=true;
clear=true;
}
}
privatevoidbutton10_Click(objectsender,EventArgse)//用于退格,如果在输入过程中输入错误可以用于清除
{
if(1<=textBox1.Text.Length)
textBox1.Text=textBox1.Text.Substring(0,textBox1.Text.Length-1);
}
voidclear_0()//用于在首次计算时清除在textbox.Text中的“0”字符,在显示时就不会显示以0开头的字符串
{
if(clear==false)
{
textBox1.Text="";
clear=true;
}
}
voidclear_1()//用于在点击加减法时,在fork()执行后将textBox1.Text清零后再运算一次,以免重复运算
{
if(clear1==true)
{
textBox1.Text="0";
}
}
privatevoidbutton_clear_Click(objectsender,EventArgse)//用于归零,
{
clear=false;
clear1=false;
point=false;
sign="0";
numble1=0;
textBox1.Text="0";
}
voidfork()//负责运算
{
switch(sign)
{
case("+"):
numble1+=Convert.ToDouble(textBox1.Text);
break;
case("-"):
numble1-=Convert.ToDouble(textBox1.Text);
break;
case("*"):
numble1*=Convert.ToDouble(textBox1.Text);
break;
case("/"):
if(0==Convert.ToDouble(textBox1.Text))
{
clear=false;
MessageBox.Show("被除数不可以为零!
请重新输入!
","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
else
{
numble1/=Convert.ToDouble(textBox1.Text);
}
break;
default:
break;
}
}
privatevoidexit_Click(objectsender,EventArgse)//负责退出程序
{
Close();
}
}
}
4课程设计总结
通过此次设计,熟练了对MicrosoftVisualStudio2008/MicrosoftVisualStudio2010的操作,更深一步了解到了C#和C、C++和JAVA语言的差异。
开发前的构思很重要,一个好的构思或习惯,可以为后期编程省去很多的麻烦。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 简单 计算器 DOC