C#计算器实验报告 下载本文

内容发布更新时间 : 2024/5/2 7:42:14星期一 下面是文章的全部内容请认真阅读。

d1 = a * a * a;d2 = System.Convert.ToString(d1, 8); txt_Result.Text = d2.ToString();} else if (this.rBtn16.Checked)

{int a = System.Convert.ToInt32(s1, 16); d1 = a * a *a;d2 = System.Convert.ToString(d1, 16); txt_Result.Text = d2.ToString();} else{double a = Convert.ToDouble(s1); d1 = (int)a * (int)a * (int)a; txt_Result.Text = d1.ToString();}}

private void btn_Clear_Click(object sender, EventArgs e) {txt_Result.Text = \; }

private void btn_sin_Click(object sender, EventArgs e)

{string s_txt = txt_Result.Text;double a = Convert.ToDouble(s_txt); double b = System.Math.Sin(a);txt_Result.Text = b.ToString();} private void btn_cos_Click(object sender, EventArgs e) {string s_txt = txt_Result.Text; double a = Convert.ToDouble(s_txt);

double b = System.Math.Cos(a);txt_Result.Text = b.ToString(); } private void btn_tan_Click(object sender, EventArgs e)

{string s_txt = txt_Result.Text;double a = Convert.ToDouble(s_txt); double b = System.Math.Tan(a);txt_Result.Text = b.ToString();} private void btn_Back_Click(object sender, EventArgs e) {this.txt_Result.Text =

this.txt_Result.Text.Substring(0, this.txt_Result.Text.Length - 1); if (this.txt_Result.Text == \)

{this.txt_Result.Text = “} }

private void btn_Result_Click(object sender, EventArgs e) {int d1;string d2; string s_txt = txt_Result.Text; int space = s_txt.IndexOf(' ');

string s1 = s_txt.Substring(0, space).Trim();

char opration = Convert.ToChar(s_txt.Substring((space + 1), 1)); string s2 = s_txt.Substring(space + 3); { int i = Convert.ToInt32(s1); int j = Convert.ToInt32(s2); switch (opration)

{case '+':d1 = i + j;break; case '-':d1 = i - j;break; case '*':d1 = i * j;break; case '/':if (j == 0)

{ throw new ApplicationException();} else{d1 = i/ j;}break;

default:throw new ApplicationException();} txt_Result.Text = d1.ToString();}

if (this.rBtn8.Checked)

{int i = System.Convert.ToInt32(s1, 8); int j = System.Convert.ToInt32(s2, 8); switch (opration){case '+':

d1 = i + j;d2 = System.Convert.ToString(d1, 8);break; case '-':

d1 = i - j;d2 = System.Convert.ToString(d1, 8);break; case '*':

d1 = i * j;d2 = System.Convert.ToString(d1, 8);break; case '/':if (j == 0){throw new ApplicationException(); } else{d1 = i / j;d2 = System.Convert.ToString(d1, 8);}break; default:throw new ApplicationException();} txt_Result.Text = d2;} if (this.rBtn16.Checked)

{int i = System.Convert.ToInt32(s1, 16);int j = System.Convert.ToInt32(s2, 16); switch (opration)

{case '+':d1 = i + j;d2 = System.Convert.ToString(d1, 16);break; case '-':d1 = i – j;d2 = System.Convert.ToString(d1, 16); break; case '*':d1 = i * j;d2 = System.Convert.ToString(d1, 16);break; case '/':if (j == 0){throw new ApplicationException();} else{d1 = i / j;d2 = System.Convert.ToString(d1, 16);}break; default:throw new ApplicationException();} txt_Result.Text = d2;}

if (this.rBtn2.Checked) {int i = System.Convert.ToInt32(s1, 2); int j = System.Convert.ToInt32(s2, 2); switch (opration)

{case '+':d1 = i + j;d2 = System.Convert.ToString(d1, 2);break; case '-':d1 = i - j;d2 = System.Convert.ToString(d1, 2);break; case '*':d1 = i * j;d2 = System.Convert.ToString(d1, 2);break; case '/':if (j == 0){throw new ApplicationException();} else{d1 = i / j;d2 = System.Convert.ToString(d1, 2);} break;default;throw new ApplicationException(); } txt_Result.Text = d2;} if (this.rBtn10.Checked) {double d;

double a1 = Convert.ToDouble(s1); double a2 = Convert.ToDouble(s2); switch (opration)

{case '+':d = a1 + a2;break; case '-':d = a1 - a2;break; case '*':d = a1 * a2;break; case '/':if (a2 == 0)

{throw new ApplicationException();} else{d = a1 / a2;}break;

default:throw new ApplicationException();} txt_Result.Text = d.ToString();}}

private void 标准型ToolStripMenuItem_Click(object sender, EventArgs e) {Form fm1 = new Form1();fm1.Show(); this.Hide();}

private void 帮??助¨2ToolStripMenuItem_Click(object sender, EventArgs e) {

MessageBox.Show(\这是一个仿照windows的计算器应用程序,功能虽然不齐但基本能运行”); }}}

六 实验总结

通过简易计算器这一程序的开发。我更进一步的了解了面向对象程序开发的过程也亲身体验了开发一个简单系统的细节点滴。通过这个例子,我对类的使用和认识有了更深入的体会。首先这是一个计算器程序,主要的是对十进制数据的简单的四则运算操作。包含了最基本的对一些按钮和文本框的操作。了解到了这类程序的开发过程和基本入手点。可以说这是我第一次用完全的面向对象语言开发一个简单的小程序。这也让我深刻体会到了类在面向对象开发过程中的重要性和便捷之处。只有亲身体验才有真正的收获。对于这个项目我有一些满意的地方也有感到不足的地方。其中满意的地方是这个程序实现了预计的功能即对数据的四则运算操作、一些三角函数阶乘N次方进制转化角弧度转换且计算结果无误。而且我也在这个项目中用到了以前学到的C语言程序时的一些思想。从这点我体会到了不同程序的共通性和不同语言间的共通性。通过这个程序我解决了窗体的应用问题。把原来只能在DOS提示符下运行的程序是现在了WINDOWS窗体中。 当然这个项目中还是存在很多不足之处的比如这个计算器程序的计算中没有能够实现把二、八、十六进制转换为十进制。有些地方写的代码效率不高。而且由于对程序设计不是很精通我觉得这个项目中代码的编写也不足够规范文档说明也不足有些东西知道用什么思想但就是用不来。培养一个良好的编程风格是十分重要的。整齐的代码格式会大大提高程序可读性。完整的技术文档对日后维护和升级十分重要。所以在编程的细节方面我还应该多加注意。 一个月的实习让我对计算机理论知识有了一定的了解但实践出真知唯有把理论与实践相结合才能更好地为社会服务。我上网查阅了一些计算应用知识并对毕业论文所需的资料进行了粗浅的了解提高了我的动手能力同时也让我了解到了自己的不足也很好的了解了团队合作的重要性。也学会了怎么样去处理事情。只有自己动手做过的东西才会铭记在心。也只有自己真正去努力过的事情才会记得很牢。只有自己真正面对过的困难下一次才不会犯同样的错误。这个程序仅仅是一个开始一个简单的例子。如果日后要继续开发我觉得应该在这个程序的高效性易用性功能的多样性这几个方面下功夫。也就是说把程序向着更加面向用户的方向进行发展。比如我们可以对用户输入进来的数据进行高级的函数运算并且能够在运算不可行的时候出现提示等等。也就是说要努力将其变成一个实际工作中可以使用的程序而不仅仅是一个示例。当然我会继续努力完善自我为社会主义现代化建设做贡献。总的来说:我学会了掌握时间。把不可控制的东西变成可控制的。做的东西要做成可扩充的。做东西一定要活从这些话再加上自己的工作慢慢体会到这正是我所不足的地方啊。在以后的对计算机科学与技术专业的学习中我会通过对C#这项技术的不断应用来更深入的学习它的精髓。