计算器实验报告
小组成员:陈菲、程雯静、吝佳妮
一、实验目的
1.掌握软件开发的基本流程。
2.掌握软件设计和开发的基本工具。
3.理解集成软件开发环境在软件开发过程中的作用。
4.模拟计算器的功能,对数据进行加减乘除以及开方运算。
二、实验要求
1.完成计算器软件的UI设计、使用Visio设计计算器软件中所涉及的流程图。
2.选择合适的集成开发环境和工具完成计算器软件的开发。
三、实验环境
1.操作系统:Windows11
2.开发工具:Visual Studio 2022
四、基本功能描述
简易计算器包括基本的四则运算(加、减、乘、除)及开方运算。
五、软件设计
1.设计思路
首先我们需要确定简易计算器的功能,主要包括加、减、乘、除及求根号的运算功能;其次我们需要确定计算器的界面设计。
计算器的界面设计应当尽量简单明了,不需要太花哨的效果。一般来说,界面分为两部分,上面是显示屏,下面是按键。在按键的设计中,我们需要显示出数字0~9、加减乘除等符号,此外我们还需要设计清除键和等号键,以便于进行清除和计算数据。
2.设计流程图

3.界面设计
(1)筛选模板C#、Windows桌面,选择Windows窗体应用。
(2)进入界面后拖动控件,Button为按钮,点击单个控件,右下角可修改其具体属性,TextBox为显示数据的地方。
(3)修改名称、调整位置,右下角属性中可修改控件的名称,调整位置。

四、结论
- 调试报告

2.测试结果
(1)输入:36+25=
输出:

(2) 输入:52-36=
输出:

(3)输入:12*5=
输出:

(4)输入:36/2=
输出:

(5)输入:√324
输出:

3.关键源代码
using System.Text;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Security.Cryptography.X509Certificates;
using System;
namespace WinFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private double LeftNum, RightNum, Result;
String Flag;
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text += "1";
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Text += "2";
}
private void button3_Click(object sender, EventArgs e)
{
textBox1.Text += "3";
}
private void button5_Click(object sender, EventArgs e)
{
textBox1.Text += "4";
}
private void button6_Click(object sender, EventArgs e)
{
textBox1.Text += "5";
}
private void button7_Click(object sender, EventArgs e)
{
textBox1.Text += "6";
}
private void button9_Click(object sender, EventArgs e)
{
textBox1.Text += "7";
}
private void button10_Click(object sender, EventArgs e)
{
textBox1.Text += "8";
}
private void button11_Click(object sender, EventArgs e)
{
textBox1.Text += "9";
}
private void button14_Click(object sender, EventArgs e)
{
textBox1.Text += "0";
}
private void button4_Click(object sender, EventArgs e)
{
LeftNum = Convert.ToDouble(textBox1.Text);
Flag = "+";
textBox1.Text = "";
}
private void button8_Click(object sender, EventArgs e)
{
LeftNum = Convert.ToDouble(textBox1.Text);
Flag = "-";
textBox1.Text = "";
}
private void button12_Click(object sender, EventArgs e)
{
LeftNum = Convert.ToDouble(textBox1.Text);
Flag = "X";
textBox1.Text = "";
}
private void button16_Click(object sender, EventArgs e)
{
LeftNum = Convert.ToDouble(textBox1.Text);
Flag = "-";
textBox1.Text = "";
}
private void button13_Click(object sender, EventArgs e)
{
LeftNum = Convert.ToDouble(textBox1.Text);
Flag = "/";
textBox1.Text = "";
}
private void From1_load(object sender, EventArgs e)
{
}
//牛顿迭代法解决算数平方根
private void button17_Click_1(object sender, EventArgs e)
{
LeftNum = Convert.ToDouble(textBox1.Text);
Flag = "sqrt";
textBox1.Text = "";
double a = LeftNum / 2;
double b = (a + LeftNum / a) / 2;
while (a - b > 0.0000001 || a - b < (-0.0000001))//取绝对值
{
a = b;
b = (a + (LeftNum / a)) / 2;
}
Result = b;
textBox1.Text = Result.ToString();
}
//加减乘除运算
private void button15_Click(object sender, EventArgs e)
{
RightNum = Convert.ToDouble(textBox1.Text);
if (Flag == "+")
Result = LeftNum + RightNum;
else if (Flag == "-")
Result = LeftNum - RightNum;
else if (Flag == "X")
Result = LeftNum * RightNum;
else if (Flag == "/")
Result = LeftNum / RightNum;
textBox1.Text = Result.ToString();
}
}
}
六、实验心得
在大家的共同努力下,我们将此程序成功设计出来。在设计的过程中,我们学会使用visual studio 2022创建简易计算机界面,使用visio 绘制程序流程图,并了解到要设计一个大型程序,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计出自己想要的程序,这过程艰辛,但我认为只要我们持之以恒,成功指日可待。另外平时扎实的基础也很关键,当我们面对这么一个比较有难度的程序,可能会望而却步,看他人的程序都是个难点,更别说让我们自己去设计。为了解决此类问题,最好就是多向同学和老师请教,积极查找资料寻找解决办法。