资源描述
青岛大学软件技术学院
C语言程序设计
实训报告
姓 名 冯勇澎
专 业 计算机信息管理
班 级 一班
指导教师 曲翠露
二0一三 年 七 月 十七 日
目录
第一章 项目分析 1
1.1选题背景 1
1.11计算器程序设计的背景 1
1.12计算器程序设计的意义及特色 1
1.13计算器程序设计的主要功能 1
1.14小组成员的开发任务分配 1
1.2开发技术 2
1.21 c#语言 2
1.22 Visual Studio 2008 2
第二章 项目总体设计 3
2.1计算器程序设计概括 3
2.2计算器程序功能实现 3
第三章 项目详细设计 3
3.1控件的选择 3
3.2控件的算法实现 3
3.2.1数据的声明 3
3.2.1加法的算法实现 4
3.2.2减法的算法实现 4
3.2.3乘法的算法实现 4
3.2.4除法的算法实现 4
3.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 2008
Visual 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#的实训让我学到了许多在创建过程中的知识,也懂得了只要勤奋,坚持不懈的努力一定可以换取成功果实的道理。在学习过程中,我深深的感受到了宋老师对工作的热忱,对学生不知疲倦的教诲和亲切指导。正是在老师的关心下,我才顺利的完成了任务。在此,我想向老师表示深深的谢意!
同时,我也想对我们小组的所有成员表示感谢,是大家的团结互助精神让我提高了我对学习的兴趣,使我受益匪浅。
20
展开阅读全文