欢迎来到天天文库
浏览记录
ID:38698620
大小:75.00 KB
页数:11页
时间:2019-06-17
《实验报告样板(软件一班李程)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C#可视化程序设计实验报告第一部分,实验说明题目实验一计算器的制作班级,姓名,学号软件学院软件一班李程200631000112一.实验要求1.参照Windows系统提供的计算器功能,制作一个自己的计算器,至少能完成数据的加减乘除的基本功能。2.控件的焦点以及Tab键的设置和使用第二部分,文字说明,附上核心代码.切记勿贴上所有代码3.多个控件(按钮)事件的共享4.键盘的事件的应用二.设计思路1.创建主体框架:建立程序的主要界面后,系统自动生成界面的主要窗口生成代码。对于每个按钮的的代码段中,分别添加
2、事件触发的处理代码。对于inputbox,显示输入的信息和显示处理后的结果。2.数字1-9的按键的事件处理都是在inputbox中分别添加相对应的数字字符,把数字当成是字符串处理。对于加减乘除四则运算按键,事件触发后的处理是在inputbox中的字符串后加上相应的四则运算符,要说明的是计算器的显示是按了四则运算符后并不是清屏inputbox的,而是把四则运算符一起显示出来直到输入完了运算式,按了“=”按键才开始运算并显示结果。3.程序使用时是先把整个运算的式子输入到inputbox当中,程序把这一
3、表达式转化成字符串,然后入栈,得到一个栈,运行四则运算函数,把字符从栈中读出,根据出栈的符号确定该进行那种运算处理。4.程序最主要的关键之处是在于以何种方式对inputbox中的表达式进行入栈处理,本程序可以处理一些简单的数字表达式的简单的四则运算。数字0-9的优先级同级,加减同级,乘除同级,但是它们相互之间的优先级有别,因此为了在运算处理当中能够处理表达式当中的不同的优先级的四则运算符时,就要采用数据结构当中处理表达式的方法,对inputbox当中的信息进行处理变成后缀表达式入栈。C#可视化程序
4、设计实验报告然后把栈返回到四则运算函数那里,对栈进行出栈处理分别对出栈的符号进行识别计算按优先级处理。通常地,计算机组成原理当中介绍的四则运算算法一般如下,在计算器编程当中可以从中获取可行的思想。四则运算算法的一般描述:1.加法算法首先假定两个操作数均为小数(其他情况可以看做这种情况的特殊情况)。a)通过界面输入获得两个操作数的值;b)若两个数同号,则将两个操作数的整数部分和小数部分分别对应逐位相加,从最低位开始,若此位上的数字大于10,则向前位进1,此位减10;c)若两个数字异号,则将负数放在第
5、二个操作数内,正数放在第一个操作数内,然后将两个操作数的整数部分和小数部分分别对应逐位相减,判断结果的正负,若是整数,则要完成进位操作,若是负数则要完成借位操作;d)将计算结果保存并输出。e)2.减法算法首先通过界面输入两个操作数,然后调用令第二个操作数取相反数,调用加法函数就可以实现减法计算。3.乘法算法乘法的算法就是简单的按照一般的乘法计算方法来进行的。考虑一般情况,两个操作数均为小数,从低位到高位,依次用第二个操作数的每一位上的数字乘以第一个操作数,然后将得出的结果调用加法函数相加即得到乘法
6、的最后结果。4.除法算法除法算法也是按照中学学到的除法算法进行。建立如下的除法算法:a)输入两个操作数;b)若第二个操作数为0,则输出除数不能为0的出错信息;c)若第二个操作数不是0,则将第二个操作数乘以适当的倍率使其整数化,第一个操作数也做相应的变化;C#可视化程序设计实验报告a)从高位到低位,依次寻找每一个位置上的商值(这个值在0到9之间),直到第一个操作数的末尾;b)保存并输出结果。1.取倒数的算法有了除法的算法,取倒数的算法就很简单了,直接用1和输入的操作数做除法运算,输出结果即可。四则运
7、算核心代码:privatevoidprocessString(){double[]stacknum=newdouble[30];//'利用栈stacknum(30)计算队列sqeuestr(30)中的后缀表达式inttop;inti;top=0;try{for(i=0;i8、op=top-1;stacknum[top-1]=stacknum[top-1]-stacknum[top];C#可视化程序设计实验报告break;case"/":top=top-1;if(stacknum[top]==0){MessageBox.Show("除数不能为零!!!");}elsestacknum[top-1]=stacknum[top-1]/stacknum[top];break;case"*":top=top-1;stacknum[top-1]=stacknum[t
8、op=top-1;stacknum[top-1]=stacknum[top-1]-stacknum[top];C#可视化程序设计实验报告break;case"/":top=top-1;if(stacknum[top]==0){MessageBox.Show("除数不能为零!!!");}elsestacknum[top-1]=stacknum[top-1]/stacknum[top];break;case"*":top=top-1;stacknum[top-1]=stacknum[t
此文档下载收益归作者所有