四则运算三

一、设计思路

 总是在c++中编程不免有点乏味,这次我尝试用了上学期的c#。主要是选择合适的控件,布置页面然后利用上次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 sizeyunsuan
{
    
    public partial class Form1 : Form
    {
        string[] abc = new string[10000];
        public Form1()
        {
            InitializeComponent();
        }
        
        private void textBox3_TextChanged(object sender, EventArgs e)
        {

        }
        System.Random rd = new Random(System.DateTime.Now.Millisecond);
        System.Random fh= new Random(System.DateTime.Now.Millisecond);
        private void button1_Click(object sender, EventArgs e)
        {
           
            int shul = int.Parse(shuliang.Text);
            int fanweio = int.Parse(fanwei1.Text);
            int fanweit = int.Parse(fanwei2.Text);
            int jiange1 = int.Parse(jiange.Text);
            
            //char fuh, yushu;
            for (int i = 0; i < shul; i++)//循环输出所需的题目数量
            {
                int num1 = rd.Next(fanweio, fanweit);
                int num2 = rd.Next(fanweio, fanweit);
                int a = num1 + num2;
                int b = num1 - num2;
                int c = num1 * num2;
                int d = num1 / num2;
                for (int j = 0; j < jiange1; j++)//控制题目行间隔
                {
                    shengcheng.Text += "
";
                }
                if (checkBox4.Checked == true)//判断是否存在余数
                {
                    if (checkBox1.Checked == true)//判断是否有乘除号
                    {
                        int fuhaos1 = fh.Next(0, 4);
                        switch (fuhaos1)//通过判断随机数值选择符号
                        {
                            case 0: shengcheng.Text += "("+(i+1)+")"+num1 + "+" + num2 + "=" + "
";
                                abc[i]= "(" + (i + 1) + ")" + a + "
"; 
                                break;
                            case 1: shengcheng.Text += "(" + (i + 1) + ")" + num1 + "-" + num2 + "=" + "
";
                                abc[i] = "(" + (i + 1) + ")" + b + "
"; 
                                break;
                            case 2: shengcheng.Text += "(" + (i + 1) + ")" + num1 + "*" + num2 + "=" + "
";
                                abc[i] = "(" + (i + 1) + ")" + c + "
"; 
                                break;
                            case 3: shengcheng.Text += "(" + (i + 1) + ")" + num1 + "/" + num2 + "=" + "
";
                                abc[i] = "(" + (i + 1) + ")" + d + "
"; 
                                break;
                        }
                    }
                    else
                    {
                        int fuhaos2 = fh.Next(0, 2);
                        switch (fuhaos2)//通过判断随机数值选择符号
                        {
                            case 0: shengcheng.Text += "(" + (i + 1) + ")" + num1 + "+" + num2 + "=" + "
";
                                abc[i] = "(" + (i + 1) + ")" + a + "
"; 
                                break;
                            case 1: shengcheng.Text += "(" + (i + 1) + ")" + num1 + "-" + num2 + "=" + "
";
                                abc[i] = "(" + (i + 1) + ")" + b + "
"; 
                                break;
                        }
                    }

                }
                else
                {

                    if (num1 % num2 != 0)//判断是否存在余数
                    {
                        int fuhaos2 = fh.Next(0, 2);
                        switch (fuhaos2)//通过判断随机数值选择符号
                        {
                            case 0: shengcheng.Text += "(" + (i + 1) + ")" + num1 + "+" + num2 + "=" + "
";
                                abc[i] = "(" + (i + 1) + ")" + a + "
"; 
                                break;
                            case 1: shengcheng.Text += "(" + (i + 1) + ")" + num1 + "-" + num2 + "=" + "
";
                                abc[i] = "(" + (i + 1) + ")" + b + "
"; 
                                break;
                        }//没有余数则随机生成四则运算//有余数则随机生成+、-符号运算
                    }
                    else
                    {
                        if (checkBox1.Checked == true)//判断是否有乘除号
                        {

                            int fuhaos1 = fh.Next(0, 4);
                            switch (fuhaos1)//通过判断随机数值选择符号
                            {
                                case 0: shengcheng.Text += "(" + (i + 1) + ")" + num1 + "+" + num2 + "=" + "
";
                                    abc[i] = "(" + (i + 1) + ")" + a + "
"; 
                                    break;
                                case 1: shengcheng.Text += "(" + (i + 1) + ")" + num1 + "-" + num2 + "=" + "
";
                                    abc[i] = "(" + (i + 1) + ")" + b + "
"; 
                                    break;
                                case 2: shengcheng.Text += "(" + (i + 1) + ")" + num1 + "*" + num2 + "=" + "
";
                                    abc[i] = "(" + (i + 1) + ")" + c + "
"; 
                                    break;
                                case 3: shengcheng.Text += "(" + (i + 1) + ")" + num1 + "/" + num2 + "=" + "
";
                                    abc[i] = "(" + (i + 1) + ")" + d + "
"; 
                                    break;
                            }
                        }
                        else
                        {
                            int fuhaos2 = fh.Next(0, 2);
                            switch (fuhaos2)//通过判断随机数值选择符号
                            {
                                case 0: shengcheng.Text += "(" + (i + 1) + ")" + num1 + "+" + num2 + "=" + "
";
                                    abc[i] = "(" + (i + 1) + ")" + a + "
";
                                    break;
                                case 1: shengcheng.Text += "(" + (i + 1) + ")" + num1 + "-" + num2 + "=" + "
";
                                    abc[i] = "(" + (i + 1) + ")" + b + "
";
                                    break;
                            }
                        }//没有余数则随机生成四则运算//有余数则随机生成+、-符号运算
                      
                     }
                }
            }

        }
            
        

        private void shuliang_TextChanged(object sender, EventArgs e)
        {

        }

        private void shengcheng_TextChanged(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            shuliang.Text="";
            fanwei1.Text = "";
            fanwei2.Text = "";
            jiange.Text = "";
            shengcheng.Text = "";
            jieguo.Text = "";
            checkBox3.Checked = false;
            checkBox2.Checked = false;
            checkBox1.Checked = false;
            checkBox4.Checked = false;
        }

        private void button3_Click(object sender, EventArgs e)
        {
             int shul = int.Parse(shuliang.Text);
             for (int i = 0; i < shul; i++)
             {
                 jieguo.Text += abc[i];
             }
        }
    }
}

三、实验结果截图
1、

2、

3、

4、

四、实验总结

  本次试验利用了上学期所学的c#,我本人感觉比用c++的成就感要大,因为结果界面就让人看着比较舒服。在程序实现的思路上基本使用的四则运算二的思路,主要变的是循环条件的控制变量,大致过程是一样的。只是主要输出函数全部都变到了“确定”这个键的函数中,利用label控件输出提示,用textbox来输入输出结果。重新生成键可以让全屏内容清空便于下次输入。在做完题目后,可按生成结果键检查对错。

  通过本次编程我了解了思路的重要性,它可以移植到不同的语言,解决相同的问题。还有通过本次编程我感到了不同语言的共通性,对于学习新的语言不再有那么大的抵触心理,因为编程思路是大同小异的。

五、表格

周活动总结表

姓名:高扬                                日期:2015.3.22

日期任务

听课(分)

编写程序(分)

阅读课本(分)

准备考试(分)

 

 

日总计(分)

周日

 

 

 

 

 

 

 

周一

 

 

 

 

 

 

 

周二

 400

 

 20

 

 

 

 420

周三

 100

 20

 10

 

 

 

 130

周四

 300

 20

 15

 

 

 

 335

周五

 200

 30

 30

 

 

 

 260

周六

 

 20

15

 

 

 

 35

周总结(分)

1000

 90

 90

 

 

 

 1180

阶段时间和效率                                         周数(上一次周活动表的周数+1):

不包括上一周在内的累计时间                                                      

总计

 

 

 

 

 

 

 

平均

 

 

 

 

 

 

 

最大

 

 

 

 

 

 

 

最小

 

 

 

 

 

 

 

以前各周累计时间                                                                          

总计

  1000

90

90

 

 

 

1180

平均

 1000

90

90

 

 

 

1180

最大

 1000

90

90 

 

 

 

1180

最小

 1000

90

90

 

 

 

1180 

 

 

时间记录表:

学生         高扬                                           日期        2015.3.22  

教师        王建民                                             课程           PSP       

日期

开始时间

结束时间

中断时间

净时间

活动

备注

 2015.3.18

 8:00

 9:50

 10

 100

听课

 计算机网络课程

 

 12:40

12:50 

 

 10

读书

 阅读《梦断代码》

 

19: 00

 19:20

 

 20

编写程序 

设计c#框架

 2015.3.19

10:10

12:00

10

100

听课

计算机接口技术课

 

14:00

15:50

10

100

听课

嵌入式开发技术上课

 

 16:40

 16:55

 

 15

 看书

 阅读《梦断代码》

 

 20:10

 20:30

 

 20

编写程序

界面建好改参数

2015.3.20

8:00

9:50

10

100

听课

软件工程课

 

10:10

12:00

10

100

听课

操作系统课

 

12:30

13:00

 

30

看书

阅读《梦断代码》

 

20:15

20:45

 

30

编写程序

实现部分功能

2015.3.21

13:15

13:35

 

20

编写程序

 修改错误完善程序,输出结果。美化界面

 

 

 

 

 

 

缺陷记录日志: 

学生       高扬  

日期       2015.3.22   

教员       王建民   

程序号           

日期

编号

类型

引入阶段

排除阶段

修复时间

修复缺陷

2015.3.19

 1

 

 编码

编译 

 10min

 

 描述: textbox默认属性与int不匹配

2015.3.19

 2

 

 编码

 编译

 5min

 

 描述:函数调用失败(与c++中不大一样,未解决,将函数体最后写入主体中)

 2015.3.20

 3

 

 编码

 编译

 1min

 

 描述:数组定义位置错误

 

 

 

原文地址:https://www.cnblogs.com/gaoyang110/p/4357270.html