《面向对象程序设计》
      课程设计
      秒表和计算器的程序设计
班      级:
姓      名:
学      号:
伊犁师范学院电子与信息工程学院
秒表和计算器的程序设计
一、设计目的
1 掌握C#窗体创建及常用的控件的选用和编程。
2 进一步提高编程能力,掌握对C#方法的调用及其参数类型的设置。
3 练习简单的应用程序的规划设计及其程序开发的方法。
二、程序运行环境
windows开发平台
开发平台:Microsoft Visual Studio 2005
开发语言:C#
运行平台:windows XP
三:开发工具及编程语言: 
  visual studio 2005是微软公司推出的一种单窗体多种语言的软件开发工具。用于生成ASP.NET WEB应用程序,XML Web Services,桌面应用程序和移动应用程序。Visual Basic,Visual C++,Visual C#Visual J#全都使用相同的继承开发环境(IDE),利用此IDE可以共享工具且有助于创建混合语言解决方案。 
  C#是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于 Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
四、设计内容
(1) 设计一个简易秒表,通过一个文本框,以”216:08”的形式显示秒(位数随计数值而变)和毫秒(两位),并且,通过”开始”/”停止”按钮启动(或停止)计时,通过一个”复位”按钮复位计数值以便重新开始计数。
2)设计一个计算器,能完成简单的+-*/等功能。
4、设计过程及实现
1.秒表的窗口控件设计,如图1所示
                              1
2.秒表的详细设计过程
(1)打开并运行Visual Studio 2005,如图2所示
2
(2)Visual Studio 2005界面上选择文件,新建一个项目。如图3所示
3新建项目界面
(3)秒表的界面设计,进入界面。如图4所示
                  4
(4)秒表的菜单设计,如图5所示
5
3.秒表的程序测试
1)单击开始按钮开始计时,如图6所示
                            6
(2)单击停止按钮,计时结束,如图7
                            7
(3)单击复位按钮,如图8所示
4.秒表的代码设计
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 秒表
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        float Second = 0;
        private void timer1_Tick(object sender, EventArgs e)
        {
            Second++;
            Box1.Text = (Second/100).ToString().Replace(".",":");
        }
        private void button1_Click(object sender, EventArgs e)
        {
            this.timer1.Enabled = true;
            this.button1.Enabled = false;
            this.button2.Enabled = true;
        }
        private void button2_Click(object sender, EventArgs e)
        {
            this.timer1.Enabled = false;
            this.button1.Enabled = true;
            this.button2.Enabled = false;
        }
        private void button3_Click(object sender, EventArgs e)
        {
            Second = 0;
            Box1.Text = "0.00";
            this.button1.Enabled = true;
            this.button2.Enabled = true;
        }
    }
}
1.1  界面设计
打开Visual Studio 2005开发工具,新建一个Windows应用程序,然后在窗体上依次放置1TextBox17Button控件,如图2-1所示(设置好属性后)。
1..2  属性设置
窗体和各控件的属性设置如表2-1所示。表2-1  窗体和各控件的属性
控件类型
控件名称
属性
设置结果
Form
Form1
Text
计算器
StartPosition
CenterScreen
MaximizeBox
False
AutoSizeMode
GrowAndShrink
TextBox
TextBox1
Name
txtReadout
ReadOnly
True
Button
Button1
Name
btnNum7
Text
7
Button2
Name
btnNum8
Text
8
Button3
Name
btnNum9
Text
9
Button4
Name
btnAdd
Text
+
ForeColor
Red
Button5
Name
btnSub
Text
-
ForeColor
Red
Button6
Name
btnNum4
Text
4
Button7
Name
btnNum5
Text
5
Button8
Name
btnNum6
Text
6
Button9
Name
btnMul
Text
*
ForeColor
Red
Button10
Name
btnDiv
Text
/
ForeColor
Red
Button11
Name
btnNum1
Text
1
Button12
Name
btnNum2
Text
2
Button13
Name
btnNum3
Text
3
Button14
Name
btnNum0
Text
0
Button15
Name
btnDot
Text
.
Button16
Name
btnC
Text
C
ForeColor
Red
Button17
Name
btnAmount
Text
=
ForeColor
Red
1.3  编写代码
本程序需要用到一些公共变量,例如用来接收操作数、运算结果,判断输入的是否为小数等,因此首先在代码的通用段声明以下变量:
double num1, num2, result;                    // 操作数及运算结果
bool decimalFlag = false;                      // 判断输入的是否为小数
string myOperator;                          // 操作类型
接下来编写一个名为“NumClick”的方法,单击数字按钮时,调用NumClick方法,将输入的数字追加到文本框中,代码如下:
public void NumClick(int myNumber)
{
    if (decimalFlag)                            // 输入小数
    {
        txtReadout.Text = txtReadout.Text + myNumber;
    }
    else
    {
        if (txtReadout.Text == "0.")        // 输入整数
        {
            // 输入的是整数的第一个数字
            txtReadout.Text = myNumber + ".";
        }
        else
        {
            // 输入的不是整数的第一个数字
            txtReadout.Text = txtReadout.Text.Substring
                (0, txtReadout.Text.Length - 1) + myNumber + ".";
        }
    }
}
// 窗体载入事件代码
private void Form1_Load(object sender, EventArgs e)
{
    txtReadout.Text = "0.";
    // 指定文本框的对齐方式为右对齐
    txtReadout.TextAlign = HorizontalAlignment.Right;
}
编写数字按钮09的单击事件代码如下:
private void btnNum0_Click(object sender, EventArgs e)
{
    NumClick(0);
}
private void btnNum1_Click(object sender, EventArgs e)
{
    NumClick(1);
}
private void btnNum2_Click(object sender, EventArgs e)
{
    NumClick(2);
}
private void btnNum3_Click(object sender, EventArgs e)
{
    NumClick(3);
}
private void btnNum4_Click(object sender, EventArgs e)
{
    NumClick(4);
}
private void btnNum5_Click(object sender, EventArgs e)
{
    NumClick(5);
}
private void btnNum6_Click(object sender, EventArgs e)
{
    NumClick(6);
}
private void btnNum7_Click(object sender, EventArgs e)
{
    NumClick(7);
}
private void btnNum8_Click(object sender, EventArgs e)
{
    NumClick(8);
}
private void btnNum9_Click(object sender, EventArgs e)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。