c#实验报告简易计算器.docx

上传人:b****8 文档编号:30647644 上传时间:2023-08-18 格式:DOCX 页数:14 大小:89.18KB
下载 相关 举报
c#实验报告简易计算器.docx_第1页
第1页 / 共14页
c#实验报告简易计算器.docx_第2页
第2页 / 共14页
c#实验报告简易计算器.docx_第3页
第3页 / 共14页
c#实验报告简易计算器.docx_第4页
第4页 / 共14页
c#实验报告简易计算器.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

c#实验报告简易计算器.docx

《c#实验报告简易计算器.docx》由会员分享,可在线阅读,更多相关《c#实验报告简易计算器.docx(14页珍藏版)》请在冰豆网上搜索。

c#实验报告简易计算器.docx

c#实验报告简易计算器

重庆邮电大学移通学院

 

C#课程设计

1、实验目的:

构造一个类似Windows自带的计算器一样的简易计算器,能够连续进行加、减、乘、除四则整数运算,并能随时清除计算结果进行下一次计算。

二、具体实验步骤:

1、添加编辑框对应的变量m_Display

2、添加运算符类型变量

charCompuType;//用于存储运算符类型

CStringFirstInput;//用于保存运算符前面的输入值

3、实验内容

设计的基本要求:

能正确输入数据,能实现加,减,乘,除等算术运算,能实现简单的三角运算,运行结果能正确显示,可以清除数据等。

1、要点分析:

这是一个简单的对话窗体设计,涉及button,editbox,statictext,radiobutton,groupbox等控件,主要影响事件为BN_CLICKED

2、程序源代码:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

namespaceStudy

{

publicpartialclassForm1:

Form

{

publicForm1()

{

InitializeComponent();

}

privateintopMain=0;//运算类型,其中1(加法)2(减法)3(乘法)4(除法)

privatedoublemainNum1=0;//存储第一个数

privatedoublemainNum2=0;//存储第二个数

privateboolisSecond=false;//用来判断输入的是第一个还是第二个数

privateboolisDone=false;//用来判断是否按了等于按钮

privateboolisDecimal=false;//用来判断是否有小数

privateboolisNokeydown=false;//用来判断是否没输入第二个数而按了"="号键

privateboolisKeyupclear=true;//用来判断是否按了clear键,程序开始前默认按了;

publicvoidsetText(stringtextest)//设置文本框的值

{

if(textest.Equals("clear"))

{

textBox1.Text="0.";

isSecond=false;

isDone=false;

isDecimal=false;

isKeyupclear=true;

}

else

{

if(isSecond)

{

textBox1.Text=textest;

isSecond=false;

isDecimal=false;

}

else

{

if(isDone)

{

textBox1.Text=textest;

isDone=false;

}

else

{

if(isKeyupclear)//对是否按下clear键的判断

{

textBox1.Text=textest;

isKeyupclear=false;

}

else

textBox1.Text+=textest;

}

}

}

btnEqual.Select();//设置"="号的焦点

}

 

publicvoidCalc(doublenum1,doublenum2,intop)

{

doubleanswer=0;

switch(op)//判断所进行的运算

{

case1:

answer=num1+num2;

break;

case2:

answer=num1-num2;

break;

case3:

answer=num1*num2;

break;

case4:

answer=num1/num2;

break;

case5:

answer=num1%num2;

break;

}

setText(answer.ToString());//显示结果

}

//执行运算

privatevoiddoEquals()

{

if(isNokeydown)//判断已经输入第二个数后按了"="号键

{

mainNum2=double.Parse(textBox1.Text);

setText("clear");

Calc(mainNum1,mainNum2,opMain);

isDone=true;

isNokeydown=false;

}

}

//切换正负

privatevoidchangeSign()

{

doublestorNum;

if(textBox1.Text.Length>0)

{

storNum=double.Parse(textBox1.Text);

storNum*=-1;

textBox1.Text=storNum.ToString();

}

btnEqual.Select();//设置"="号的焦点

}

//设置运算类型

privatevoidsetOperator(intoperation)

{

if(textBox1.Text.Length>0)

{

opMain=operation;

mainNum1=double.Parse(textBox1.Text);

isSecond=true;

isDone=false;

isNokeydown=true;

btnEqual.Select();//设置"="号的焦点

}

}

//设置小数点

privatevoidsetDecimal()

{

if(!

isDecimal)

{

setText(".");

isDecimal=true;

}

btnEqual.Select();//设置"="号的焦点

}

//开平方

privatevoiddoSquart()

{

doublestorNum;

storNum=double.Parse(textBox1.Text);

if(storNum>0)

{

storNum=Math.Sqrt(storNum);

textBox1.Text=storNum.ToString();

}

else

textBox1.Text="负数不能开平方。

";

btnEqual.Select();//设置"="号的焦点

}

//求倒数

privatevoiddoreciprocal()

{

doublestorNum;

storNum=double.Parse(textBox1.Text);

if(storNum!

=0)

{

storNum=1/storNum;

textBox1.Text=storNum.ToString();

}

else

textBox1.Text="除数不能为零。

";

btnEqual.Select();

}

privatevoidbtn7_Click(objectsender,EventArgse)

{

setText("7");

}

privatevoidbtn8_Click(objectsender,EventArgse)

{

setText("8");

}

privatevoidbtn9_Click(objectsender,EventArgse)

{

setText("9");

}

privatevoidbtn4_Click(objectsender,EventArgse)

{

setText("4");

}

privatevoidbtn5_Click(objectsender,EventArgse)

{

setText("5");

}

privatevoidbtn6_Click(objectsender,EventArgse)

{

setText("6");

}

privatevoidbtn1_Click(objectsender,EventArgse)

{

setText("1");

}

privatevoidbtn2_Click(objectsender,EventArgse)

{

setText("2");

}

privatevoidbtn3_Click(objectsender,EventArgse)

{

setText("3");

}

privatevoidbtn0_Click(objectsender,EventArgse)

{

setText("0");

}

privatevoidbtnPoint_Click(objectsender,EventArgse)

{

setDecimal();

}

privatevoidbtnSubtract_Click(objectsender,EventArgse)//正负号交换

{

changeSign();

}

privatevoidbtnEqual_Click(objectsender,EventArgse)

{

doEquals();

}

privatevoidbtnAdd_Click(objectsender,EventArgse)

{

setOperator

(1);

}

privatevoidbtnSub_Click(objectsender,EventArgse)

{

setOperator

(2);

}

privatevoidbtnMulti_Click(objectsender,EventArgse)

{

setOperator(3);

}

privatevoidbtnDivide_Click(objectsender,EventArgse)

{

setOperator(4);

}

privatevoidbtnC_Click(objectsender,EventArgse)//清除键

{

isSecond=false;

setText("clear");

}

privatevoidbtnSqrt_Click(objectsender,EventArgse)//开平方

{

doSquart();

}

privatevoidbtnPercentage_Click(objectsender,EventArgse)//求模

{

setOperator(5);

}

privatevoidbtnReciprocal_Click(objectsender,EventArgse)//求倒

{

doreciprocal();

}

privatevoidbtnCE_Click(objectsender,EventArgse)//CE

{

isSecond=false;

setText("clear");

}

privatevoidbtnBackspace_Click(objectsender,EventArgse)//退格键

{

stringold=textBox1.Text;

if(old.Length>1&&old!

="0.")

textBox1.Text=old.Substring(0,old.Length-1);

else

textBox1.Text="0.";

}

}

}

3、运行结果

四、实验小结

此次的设计是1个新的体验、新的挑战,我在此过程中不但应用了所学的知识,而且还不断的学习新的知识、工具,以完成设计的需要,在设计的过程中我深深体会到作为1个学习计算机专业的人士,为了实现1个模块的代码、为了1个设计的实现思想、经常绞尽脑汁来达到设计所要达到的目的,虽然我的基础知识不够扎实,但是我在此期间积累了许多宝贵的经验,这都是我以后走上工作岗位的巨大的财富。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1