一.实验题目
通过简易计算器的设计,熟悉VS2013编程环境,掌握常用窗体应用程序设计基本步骤,掌握基本控件的使用方法,掌握菜单栏设计
二.实验要求
界面要求:模仿windows操作系统附件中的计算器样式进行设计,要设计基本的菜单项(快捷键、热键、和分割线等)
功能要求:实现如下图所示的功能键
三.实验代码UI设计如下
private void clear_Click(object sender, EventArgs e)
//对应C的数据操作清除textbox的显示使其归0
{
textBox1.Text = "\r\n0";
str = "";//使输入串置空
sum = "0";//使结果字符串置空
}
//运算符的监听处理
private void buttonop_Click(object sender, EventArgs e) {
btn = (Button)sender;
if (btn.Text!= "=")
{
x = Convert.ToDouble(sum);//读入第一个数字
op = btn.Text;
str += sum + op;
sum = "0";
textBox1.Text = str+"\r\n"+sum; //显示在TEXTBox上}
else
{
y = Convert.ToDouble(sum); //读入第二个数字
switch (op)//运算符输入匹配
{
case"+":
sum= (x + y).ToString(); break;//点击+时执行
case"-":
sum = (x - y).ToString(); break; //点击-时执行
case"*":
sum = (x * y).ToString(); break; //点击*时执行
case"%":
sum = (x % y).ToString();break; //点击%时执行
case"/":
if(y==0) sum = "除零错误";//判断除0异常
else {
sum= (x / y).ToString();//点击/时执行
}
break;
}
textBox1.Text = "\r\n"+sum;
str = "";
}
}
//求倒运算点击1/x时的数据操作
private void button17_Click(object sender, EventArgs e)//求到
{
btn = (Button)sender;
x = Convert.ToDouble(sum);
if (x == 0) { sum = "除零错误"; }//检查倒数的分母是否满足条件
else
{
sum = (1 / x).ToString();
}
textBox1.Text = "\r\n" + sum;
str = "";
}
//数字输入处理以及其他符号键的实现
private void buttondata_Click(object sender, EventArgs e) {
btn = (Button)sender;
switch (btn.Text)
{
case"←"://回退一次字符
if (sum.Length != 1)
{
textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1);
sum = sum.Substring(0, sum.Length - 1);break;
//截取结果字符串的sum.Length – 1个字符
}
sum = "0"; textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1)+"0";
break;
case"CE"://即回滚到上一状态
textBox1.Text = textBox1.Text.Substring(0,
textBox1.Text.Length -sum.Length) + "0";
sum = "0";break;
case"±"://实现取正或取负
if (Convert.ToDouble(sum) > 0)
{
textBox1.Text = textBox1.Text.Substring(0,
textBox1.Text.Length - sum.Length) + "-" + sum;
sum = "-" + sum;
}
else if(Convert.ToDouble(sum)<0)
{
textBox1.Text = textBox1.Text.Substring(0,
textBox1.Text.Length - sum.Length);
sum = sum.Substring(1, sum.Length-1);
textBox1.Text += sum;
}
break;
case"√"://实现开平方
if (Convert.ToDouble(sum) < 0)
{
textBox1.Text = "sqrt(" + sum + ")" + "\r\n无效输入";
}
else {
textBox1.Text = str + "sqrt(" + sum + ")" + "\r\n";
sum = Math.Sqrt(Convert.ToDouble(sum)).ToString();
textBox1.Text += sum;
}
break;
default://数字输入
if (sum == "0" && btn.Text != ".")
{
sum = "";
textBox1.Text = textBox1.Text.Substring(0,
textBox1.Text.Length - 1);
}
textBox1.Text += btn.Text;
sum += btn.Text;
break;
}
}
四.实验总结
通过此次实验较深刻的理解了C#编程的方法和C#语言的基本语法。并且此次的设计是1个新的体验、新的挑战,我在此过程中不但应用了所学的知识,而且还不断的学习新的知识、工具,以完成设计的需要,我在此期间积累了许多宝贵的经验。
简单的四则运算计算器程序
注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。 2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
附件:程序源代码 // sizheyunsuan.cpp : Defines the entry point for the console application. #include
吉首大学课程设计 课程设计名称:简单的计算器 专业班级: 10 网络工程 学生姓名:胡申城唐茂林赖佳 学号:20104045049 20104045006 201040450 指导教师:鲁荣波老师 课程序设计时间:2011.12.18-2011.12.25
目录 一内容 (1) 二.设计要求 (2) 三.计算器的算法 (2) 四..流程图 (5) 五.源程序 (7) 六.执行结果 (8) 七.课程设计总结 (3) 八.参考书目 (3)
一、内容 编写一个功能基本完善的计算器程序,支持四则运算、乘方开方、指数对数等运算,支持带括号的表达式。 二、设计要求 1) 程序采用字符界面 2) 显示功能菜单,用户指定键即可进入相应功能 3) 每次计算完成后输出一个提示符,要计算的数字或表达式由用户在提示后面输入 4) 用户输入完按回车立即显示计算结果 三、计算器的算法 我们现在用的计算器多是一个数一个运算符的输入输出的。一个比较具有现实意义的计算器,应该具有如下功能: 1.能够实现整数的四则运算:如:1+6-9*4+4/3 2.能够实现小数的四则运算:如:0.2+7-4 这样的计算器基本可以使用在我们生活中。如果我们按照栈的使用来描述一下表达式的进栈出栈问题: 表达式例如:1+9*4/4-5。 假设有栈D和数组S;S中放运算数,D栈放入运算符,优先级高的现运算,四则运算中,*和/优先级最高。 第一步:扫描到‘1’,是运算数,放入S; 第二步:扫描到‘+‘进入D
第三步:扫描到9;进S 第四步:扫描‘*’,因为乘比加优先级高,所以9出栈实现:9*4,把结果入S, 第五步:扫描到/,同样计算S的栈顶元素出栈,实现36/4,把结果如S 第六步:扫描到—,进入D栈; 第七步:扫描到‘5’,进S 第八步:扫描到‘\0’,为结束符;把S栈顶元素栈S1,D顶元素出栈,然后S栈顶元素在出栈,实现减操作,接着S栈顶元素出栈,实现加操作。 具体进出栈如图: Next 为下一个字符或数字,run表示运行,空为不操作S[] D S[] D S[] D S[] D S[] D S[] top t top 9 top 36 top 4 - -1 top base 1 + 1 + 1 + 1 + 1 + 0 top top next + 9 * 4 / 4 - 5 = run 9*4 36/4 4-5 -1+1 表1-1 运算数运算符进栈、出栈
-创建数据库语句语法: CREATE DATABASES 据库名 [ON [PRIMAR Y] {(NAME^据文件的逻辑名称, FILENAME‘数据文件的路径和文件名’,(要包含文件扩展名)SIZE二数据文件的初始容量,(不能小于Model数据库的初始文件大小) MAXSIZE二数据文件的最大容量, FILEGROWTH数据文件的增长量)}[,…n] LOG ON {(NAME=事务日志文件的逻辑名称, FILENAMES务日志文件的物理名称', SIZE=事务日志文件的初始容量, MAXSIZE=事务日志文件的最大容量, FILEGROWTH事务日志文件的增长量)儿…n]] 判断同名的数据库是否存在: IF EXISTS (SELECT FROM master..sysdatabases WHERE name =' 数据库名')
DROP DATABASE数据库名 GO 修改数据库操作语句: ALTER DATABAS数据库名 {[add file 文件描述][to filegroup 文件组名] 新增数据文件I [add log file 文件描述] 新增日志文件 I [remove file 逻辑文件名]删除数据库文件 I [add filegroup 文件组名]新增文件组 I [remove filegroup 文件组名] 删除文件组 I [modify file 文件修改内容描述]修改数据文件属性} 查看数据库文件属性 EXECSp_helpfile 系统存储过程,用于查看数据库有哪些文件及文件属性。 删除数据库 Drop database数据库名称 分离数据库 EXEC Sp_detach_db 数据库名称 附加数据库 CREATE DATABASE 据库名 ON PRIMAR Y (FILENAME=') 说明:附加数据库只需指定数据库的主数据文
基于单片机实现的四则运算计算器 姓名 学号: 班级: 专业名称:测控技术与仪器 指导教师: 东北大学 2016年1月
课程设计(论文)任务书课程设计(论文)题目:基于单片机实现的四则运算计算器 基本内容和设计要求: 1、主机的矩阵键盘输入数和运算符号,从机显示运算结果。 2、主从单片机串行通信系统,并在LCD上显示运算内容及结果。 3、计算结果超过十位数字则显示错误。 4、运算除法时,结果只取整数,不是四舍五入。 5、有清零功能。
目录 课程设计(论文)任务书................................................................................................ i i 摘要 (1) 第1章绪论 (2) 1.1计算器简介 (2) 1.2设计主要内容 (2) 第2章系统硬件设计 (4) 2.1硬件组成 (4) 2.2输入模块 (4) 2.3输出模块 (5) 2.4运算模块 (5) 第3章系统软件设计 (7) 3.1 主程序 (7) 3.1.1主程序框图及初始化 (7) 3.1.2LCD程序框图及初始化 (8) 3.1.3键盘程序框图及初始化 (9) 3.1.4运算程序框图 (10) 第4章调试测试与实验分析 (11) 4.1 计算器调试 (11) 参考文献 (12) 心得体会 (13) 附录硬件原理图及PCB图 (14) 附录程序清单 (15) 附录实物照片 (28)
摘要 单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本设计是基于89C52RC单片机来进行的四则运算计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除的基本四则运算,并在LCD1602液晶显示屏上显示相应的结果。本电路采用89C52RC单片机为主要控制电路,利用4*4矩阵键盘作为计算器以及运算符的输入。显示采用字符LCD静态显示。软件用C语言编程,并用开发板进行演示。 关键词:计算器,89C52RC单片机,LCD,矩阵键盘
HTML5+JavaScript: