zoukankan      html  css  js  c++  java
  • 四则运算三

    一、设计思路

     总是在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

     

     描述:数组定义位置错误

     

     

     

  • 相关阅读:
    python3.7.6安装爬虫akshare
    linux执行crotab是python脚本不生效解决方案
    centos7安装smb共享目录
    搜索引擎集群安装7.8-head-ik
    npm更换阿里源
    nginx访问静态文件不下载,修改默认流下载
    jenkins通过证书ssh访问代码解决方法
    redis创建密码
    微信二次分享时缩略图及描述信息丢失
    redis安装使用
  • 原文地址:https://www.cnblogs.com/gaoyang110/p/4357270.html
Copyright © 2011-2022 走看看