首页 > 其他 > 详细

四则运算程序

时间:2015-10-04 20:55:03      阅读:258      评论:0      收藏:0      [点我收藏+]

程序目的:编写一个能对0-10之间的整数进行四则运算的程序。

程序内容:系统在一分钟内随机生成0-10之间的数字,用户通过选择四则运算中的一个进行运算,并输入相应的答案,程序

                 能接收用户输入的整数答案,并进行判断,输出答题的正确、错误个数。

   设计思路:运用windows窗体应用程序,用户能很容易的看懂操作步骤,

   需要控件:

                窗体1:4个label控件,4个textBox控件,6个Button控件,1个GroupBox控件。

                窗体2:3个label控件,3个textBox控件。

                 主要排布如下图所示:

                  技术分享技术分享

    窗体1的代码如下:

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 jisuan
{
    public partial class Form1 : Form
    {
        
        public static int Count = 0;    //题目的总数
        private int t = 60;             //测试时间为60秒
        public static int right = 0;    //正确题目的总数
        public static int fault = 0;    //错误题目的总数
        public Form1()
 
        {
            InitializeComponent();
        }
        //"开始"按钮单击事件
        private void button1_Click(object sender, EventArgs e)
        {
            label4.Text = t.ToString();
            timer1.Enabled = true;
            timer1.Interval = 1000;
            timer1.Start();
            RandomNum();

        }
        //自定义方法:产生1-10的随机数并在文本框中显示
        private void RandomNum()
        {
            Random ran = new Random();
            int x1, x2;
            x1 = ran.Next(1, 10);      //textBox1产生一个数字
            x2 = ran.Next(1, 10);      //textBox2产生一个数字
            textBox1.Text = x1.ToString();
            textBox2.Text = x2.ToString();
            textBox3.Text = "";
            Count++;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            label2.Text = "+";
        }

        private void button4_Click(object sender, EventArgs e)
        {
            label2.Text = "-";
        }

        private void button5_Click(object sender, EventArgs e)
        {
            label2.Text = "*";
        }

        private void button6_Click(object sender, EventArgs e)
        {
            label2.Text = "/";
        }

        private void textBox3_KeyDown(object sender, KeyEventArgs e)
        {  if (e.KeyCode == Keys.Enter)
            {
                if (textBox3.Text == textBox3.ToString())
                    right++;
               
                RandomNum();
            }
            else
            {
                 fault++;
                RandomNum();
            }
            int t3;
            string i = label2.Text;
            switch (i)
            { 
                case"+":
                    t3 =int.Parse(textBox1.Text) + int.Parse(textBox2.Text);
                    break;
                case "-":
                    t3 = int.Parse(textBox1.Text) - int.Parse(textBox2.Text);
                    break;
                case "*":
                    t3 = int.Parse(textBox1.Text)* int.Parse(textBox2.Text);
                    break;
                case "/":
                    t3 = int.Parse(textBox1.Text) / int.Parse(textBox2.Text);
                    break;
            }
          
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            
              if (t<=0)
            {
                timer1.Enabled = false;
                textBox3.Enabled = false;
                MessageBox.Show("时间到!此次测试结束。");
                textBox3.Enabled = false;
                Form2 frm2 = new Form2();
                frm2.ShowDialog();                      //弹出模式对话框,显示测试结果
            }
            t = t -1;
            label4.Text = t.ToString();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            textBox3.Enabled = false;
            Form2 frm2 = new Form2();
            frm2.ShowDialog();
        }
        }
    }

 

运行以后:

 技术分享技术分享技术分享技术分享

大概思路就是以上的代码;

PSP耗时:计划12小时写好,实际比计划多,原来C#老师教了一个和这个类似的例题,就跟着这个思路写的,

             写到中间种种问题都出来了,有错误,运行不了,还找不出来.经过询问同学等等,才把问题解决,

             直到现在还是感觉中间还有很多问题,不过,对于刚开始的没思路,还是好很多的!!

思考题:如果用户想算1-100的话,只需要更改

         int x1, x2;

             x1 = ran.Next(1, 100); 
             x2 = ran.Next(1, 100);

 

四则运算程序

原文:http://www.cnblogs.com/lx123456/p/4854830.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!