文档详情

简易计算器实训(2)

仙***
实名认证
店铺
DOC
892KB
约20页
文档ID:156417689
简易计算器实训(2)_第1页
1/20

青岛大学软件技术学院C语言程序设计实训报告姓 名 冯勇澎 专 业 计算机信息管理 班 级 一班 指导教师 曲翠露 二0一三 年 七 月 十七 日目录第一章 项目分析 11.1选题背景 11.11计算器程序设计的背景 11.12计算器程序设计的意义及特色 11.13计算器程序设计的主要功能 11.14小组成员的开发任务分配 11.2开发技术 21.21 c#语言 21.22 Visual Studio 2008 2第二章 项目总体设计 32.1计算器程序设计概括 32.2计算器程序功能实现 3第三章 项目详细设计 33.1控件的选择 33.2控件的算法实现 33.2.1数据的声明 33.2.1加法的算法实现 43.2.2减法的算法实现 43.2.3乘法的算法实现 43.2.4除法的算法实现 43.2.5平方根的算法实现 4第四章 计算机程序的测试和运行 6小结 7致谢 7参考文献 7附录 7 第一章 前言1.1选题背景1.11计算器程序设计的背景随着计算机技术的迅速发展,计算机已成为我们生活不可缺少的部分。

计算机带给我们的方便也越来越明显然而,计算器在我们生活的重要性已经渗透在我们生活每个角落,如何设计出更简单,更方便,功能更强大的计算器,已成为一个热门话题本文介绍了在C#环境下设计开发的多功能计算器,它提供的功能更加简单,方便,实用Microsoft公司发布的Microsoft Visual Studio .NET编程环境,比原来的Visual Studio 6.0来说,有了较大的改进,这次改进,Microsoft 公司依托自己强大的软件实力,结合Java框架,研究了互联网今后的发展技术、软件发展技术、嵌入式发展技术等,制定 . NET 战略随着 . NET战略随着. NET的推广和发展,微软每次对Visual Studio 的升级,无疑给全世界的计算机软件带来新鲜的活力,同时也让软件得到了更快、更高、更强的发展1.12计算器程序设计的意义及特色计算器是人们日常生活中常用的事物,可以通过快速精确的计算使劳动效力大大提高此程序可以用于其日常的计算,强大的计算功能,方便快捷,界面的视觉效果使使用者轻松,不易疲劳,且简单易懂的操作,让使用者比较简单易懂1.13计算器程序设计的主要功能(1)清零。

2)加减乘除运算3)小数运算4)人性化的界面1.14小组成员的开发任务分配李奥康负责菜单栏,梁程程负责界面设计,冯勇澎,司紫薇负责算法1.2开发技术1.21 c#语言 C#是微软公司在2000年7月发布的一种全新且简单、安全、面向对象的程序设计语言,是专门为.NET的应用而开发的语言C#由C语言和C++派生而来,继承了其强大的性能,同时又以.NET 框架类库作为基础,拥有类似Visual Basic的快速开发能力C#由安德斯•海尔斯伯格主持开发,微软在2000年发布了这种语言它吸收了C++、Visual Basic、Delphi、Java等语言的优点,体现了当今最新的程序设计技术的功能和精华C#继承了C语言的语法风格,同时又继承了C++的面向对象特性NET框架为C#提供了一个强大的、易用的、逻辑结构一致的程序设计环境C#是微软推出的一种基于.NET框架的、面向对象的高级编程语言1.22 Visual Studio 2008Visual Studio 2008 提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序Visual Studio 2008 包括各种增强功能,例如可视化设计器(使用 .NET Framework 3.5 加速开发)、对 Web 开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。

Visual Studio 2008 为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持 AJAX 的 Web 应用程序开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的 Web 应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问 ASP NET应用程序服务和 Microsoft 平台 目录第二章 程序设计思想2.1计算器程序设计概括在此程序中,主要完成对学生计算器的需求分析、功能模块划分并由此设计了计算器应用程序,实现了加减乘除与控件的连接本软件使用方便快捷、应用面广泛、简单易学、适合各种人群所使用2.2计算器程序功能实现控件的实现有以下功能:1关于数字的算法实现;2关于加法的算法实现;3关于减法的算法实现;4关于乘法的算法实现;5关于除法的算法实现;6关于小数的算法实现;7.关于符号的算法实现;9.关于显示结果的算法实现;10.关于清零的算法实现第三章 计算器程序算法的实现3.1控件的选择产生计算器界面并添加控件,选择button、listbox按钮3.2控件的算法实现3.2.1数据的声明通过调用 ,#region 控件声明,#region 各控件的属性的方法Windows Form Designer generated code,#region 各变量和常数的声明,#region 获取操作数事件,#region 等于事件和等于运算方法,#region 获取操作符运事件, #region 主菜单事件,来实现本程序的完成。

第三章 计算器程序算法的实现3.1控件的选择选择button、listbox按钮3.2控件的算法实现一、概述3.2.1数据的声明通过调用 ,#region 控件声明,#region 各控件的属性的方法Windows Form Designer generated code,#region 各变量和常数的声明,#region 获取操作数事件,#region 等于事件和等于运算方法,#region 获取操作符运事件, #region 主菜单事件,来实现本程序的完成3.2.2数字的算法实现private void btn_Oper(object obj, EventArgs ea) { Button tmp1 = (Button)obj; strOper = tmp1.Text; switch (strOper) { case "/": //除法运算 if (opt != NULL && opt != DIV) { calc(); } opt = DIV; if (num != 0) //判断操作数的个数,如果两个就做二元运算 { if (tmp != 0) res = res / tmp; } else res = tmp; num++; tmp = 0; txtShow.Text = res.ToString(); dot = NODOT; break; case "*": // 乘法运算 if (opt != NULL && opt != MUL) { calc(); } opt = MUL; if (num != 0) //判断操作数的个数,如果两个就做二元运算 { if (tmp != 0) res = res * tmp; } else res = tmp; num++; tmp = 0; txtShow.Text = res.ToString(); dot = NODOT; break; case "+": //加法运算 if (opt != NULL && opt != ADD) { calc(); } opt = ADD; if (num != 0) //判断操作数的个数,如果两个就做二元运算 res = res + tmp; else res = tmp; num++; tmp = 0; txtShow.Text = res.ToString(); dot = NODOT; break; case "-": //减法运算 if (opt != NULL && opt != SUB) { calc(); } /*if(opt==ADD) { res=res+tmp; tmp=0; }*/ opt = SUB; if (num != 0) //判断操作数的个数,如果两个就做二元运算 res = res - tmp; else res = tmp; num++; tmp = 0; txtShow.Text = res.ToString(); dot = NODOT; break; case "sqrt": //平方根运算 if (opt != NULL) { calc(); } //opt=SQRT; if (tmp > 0) //要求操作数大于0 { res = Math.Sqrt(tmp); //res=tmp; } else if (res > 0) res = Math.Sqrt(res); txtShow.Text = res.ToString(); num++; tmp = 0; dot = NODOT; break; 3.2 变量名称3.2.2加法的算法实现将控件名为button11更名为“+”,算法功能演示如下: 3.2.3减法的算法实现将控件名为button12更名为“-”, 算法功能演示如下: 3.2.4乘法的算法实现将控件名为button13更名为“*”, 算法功能演示如下:3.2.5除法的算法实现将控件名为button13更为“\”, 算法功能演示如下:3.2.6平方根的算法实现将属性中text更为“sqrt”, 算法功能演示如下: 结束语随着科学技术的飞速发展,计算机已经成为核心,因此,拥有熟练的掌握计算机知C#是一个功能强大的可视化软件开发工具,已成为专业程序员进行软件开发的首选工具。

经过一个学期对C#语言这门课的了解,感受良多,在老师的细心指导下,可以在学习这么你课程之余,能够对一些程序的制作和运行进行了解,也能对一些相对较为简单的程序进行编制,虽然要自个独立完成有一定的困难,但我相信我只要花足够的时间去研究这门课程,应该有很大的收获经过一周的实训,让我掌握了更多的运用计算机的能力,本次实训同时让我意识到了理论与实践结合的重要性,理论使我们思想得到进步,而,实践使我们身心共同成长历时一周的时间我完成了实训内容,可能会有些不足的地方,望老师多多指教,如有错误之处,一定及时改正附录程序代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms; namespace WindowsFormsApplication1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button14_Click(object sender, EventArgs e) { twoNumber = Convert.ToDouble(textBox1.Text);//把文本框中的字符串转换成double型数字 switch (center) { //使用加法 case 1: textBox1.Text = Convert.ToString(oneNumber + twoNumber); break;//把两个数计算结果转换成字符串,在文本框中显示出来 //使用减法 case 2: textBox1.Text = Convert.ToString(oneNumber - twoNumber); break;//把两个数计算结果转换成字符串,在文本框中显示出来 //使用乘法 case 3: textBox1.Text = Convert.ToString(oneNumber * twoNumber); break; //使用除法 case 4: if (twoNumber == 0) MessageBox.Show("除数不能为零"); else textBox1.Text = Convert.ToString(oneNumber / twoNumber); break; case 7: textBox1.Text = Convert.ToString(Math.Pow(oneNumber, twoNumber)); break; } } private void button9_Click(object sender, EventArgs e) { oneNumber=Convert.ToDouble(textBox1.Text);//把文本框中的数字转换成double型数据 textBox1.Text="";//清空文本框中的数字 center=3;//标记用了乘法 } private void button15_Click(object sender, EventArgs e) { if (textBox1.Text == "0") textBox1.Text = "0"; else textBox1.Text += "0"; } private void button10_Click(object sender, EventArgs e) { if (textBox1.Text == "0") textBox1.Text = "3"; else textBox1.Text += "3"; } private void button11_Click(object sender, EventArgs e) { if (textBox1.Text == "0") textBox1.Text = "2"; else textBox1.Text += "2"; } private void button12_Click(object sender, EventArgs e) { if (textBox1.Text == "0") textBox1.Text = "1"; else textBox1.Text += "1"; } private void button6_Click(object sender, EventArgs e) { if (textBox1.Text == "0") textBox1.Text = "6"; else textBox1.Text += "6"; } private void button7_Click(object sender, EventArgs e) { if (textBox1.Text == "0") textBox1.Text = "5"; else textBox1.Text += "5"; } private void button8_Click(object sender, EventArgs e) { if (textBox1.Text == "0") textBox1.Text = "4"; else textBox1.Text += "4"; } private void button3_Click(object sender, EventArgs e) { if (textBox1.Text == "0") textBox1.Text = "9"; else textBox1.Text += "9"; } private void button2_Click(object sender, EventArgs e) { if (textBox1.Text == "0") textBox1.Text = "8"; else textBox1.Text += "8"; } private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == "0") textBox1.Text = "7"; else textBox1.Text += "7"; } private double oneNumber; private double twoNumber; //上挡标记 public bool mark = false; //用来判断"0"和"."是否被按下 public bool flag1 = false; public bool flag2 = false; public static int center; public bool flag3 = false; private void button5_Click(object sender, EventArgs e) { oneNumber = Convert.ToDouble(textBox1.Text);//把文本框中的数字转换成double型数据 textBox1.Text = "";//清空文本框中的数字 center = 2;//标记用了减法 } private void textBox1_TextChanged(object sender, EventArgs e) { } private void button4_Click(object sender, EventArgs e) { oneNumber = Convert.ToDouble(textBox1.Text);//把文本格式转换成double型数据 textBox1.Text = "";//清空文本框的数字,准备第二个数的输入 center = 1;//标记用了加号 } private void button13_Click(object sender, EventArgs e) { oneNumber = Convert.ToDouble(textBox1.Text); textBox1.Text = ""; center = 4;//标记用了除法 } private void button16_Click(object sender, EventArgs e) { textBox1.Clear(); textBox1.Text = "0"; mark = false; flag1 = false; flag2 = false; } private void button17_Click(object sender, EventArgs e) { textBox1.Text += "."; } private void Form1_Load(object sender, EventArgs e) {} }}致谢 通过了一周对C#的实训让我学到了许多在创建过程中的知识,也懂得了只要勤奋,坚持不懈的努力一定可以换取成功果实的道理。

在学习过程中,我深深的感受到了宋老师对工作的热忱,对学生不知疲倦的教诲和亲切指导正是在老师的关心下,我才顺利的完成了任务在此,我想向老师表示深深的谢意!同时,我也想对我们小组的所有成员表示感谢,是大家的团结互助精神让我提高了我对学习的兴趣,使我受益匪浅。

下载提示
相关文档
正为您匹配相似的精品文档