⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 program.cs

📁 这是一个用VC编写的简单计算器
💻 CS
📖 第 1 页 / 共 3 页
字号:
        }

        //等于运算方法
        private void calc()
        {
            // 生成结果
            if (num == 0)    //是否有操作数,没有就返回0
            {
                res = 0;
                tmp = 0;
                txtShow.Text = res.ToString();
                return;
            }

            switch (opt)  //找到对应的运算符进行计算
            {
                // 加法
                case ADD:
                    res = res + tmp;
                    break;
                // 减法
                case SUB:
                    res = res - tmp;
                    break;
                // 乘法
                case MUL:
                    res = res * tmp;
                    break;
                // 除法
                case DIV:
                    res = res / tmp;
                    break;
                // 平方
                case SQR:
                    res = tmp * tmp;
                    break;
                // 平方根
                case SQRT:
                    res = System.Math.Sqrt(tmp);
                    break;
                default:
                    return;
            }
            txtShow.Text = res.ToString();   //结果输出到文本显示屏
            opt = NULL;  //运算符清空
            tmp = 0;
            dot = NODOT;
            //res = 0;
            //num = 0;
        }
        #endregion

        #region 获取操作符运事件
        //获取操作符运事件
        private void btn_Oper(object obj, EventArgs ea)
        {
            Button tmp1 = (Button)obj;
            strOper = tmp1.Text;
            switch (strOper)
            {
                case "/":       //除法运算
                    if (opt != NULL && opt != DIV)
                    {
                        calc();
                    }
                    opt = DIV;
                    if (num != 0)  //判断操作数的个数,如果两个就做二元运算
                    {
                        if (tmp != 0)
                            res = res / tmp;
                    }
                    else
                        res = tmp;
                    num++;
                    tmp = 0;
                    txtShow.Text = res.ToString();
                    dot = NODOT;
                    break;
                case "*":
                    // 乘法运算
                    if (opt != NULL && opt != MUL)
                    {
                        calc();
                    }

                    opt = MUL;

                    if (num != 0)     //判断操作数的个数,如果两个就做二元运算    
                    {
                        if (tmp != 0)
                            res = res * tmp;
                    }
                    else
                        res = tmp;

                    num++;
                    tmp = 0;
                    txtShow.Text = res.ToString();
                    dot = NODOT;
                    break;
                case "+":            //加法运算
                    if (opt != NULL && opt != ADD)
                    {
                        calc();
                    }
                    opt = ADD;
                    if (num != 0)    //判断操作数的个数,如果两个就做二元运算
                        res = res + tmp;
                    else
                        res = tmp;
                    num++;
                    tmp = 0;
                    txtShow.Text = res.ToString();
                    dot = NODOT;
                    break;
                case "-":        //减法运算
                    if (opt != NULL && opt != SUB)
                    {
                        calc();
                    }
                    /*if(opt==ADD)
                    {
                        res=res+tmp;
                        tmp=0;
                    }*/
                    opt = SUB;
                    if (num != 0)    //判断操作数的个数,如果两个就做二元运算
                        res = res - tmp;
                    else
                        res = tmp;
                    num++;
                    tmp = 0;
                    txtShow.Text = res.ToString();
                    dot = NODOT;
                    break;
                case "sqrt":     //平方根运算
                    if (opt != NULL)
                    {
                        calc();
                    }

                    //opt=SQRT;
                    if (tmp > 0)  //要求操作数大于0
                    {
                        res = Math.Sqrt(tmp);
                        //res=tmp;
                    }
                    else if (res > 0)
                        res = Math.Sqrt(res);
                    txtShow.Text = res.ToString();
                    num++;
                    tmp = 0;
                    dot = NODOT;
                    break;
                case "sqr":
                    // 平方运算
                    if (opt != NULL)
                    {
                        calc();
                    }
                    //opt=SQR;
                    if (tmp != 0)
                    {
                        res = tmp * tmp;
                        //res=tmp;
                    }
                    else
                        res = res * res;

                    txtShow.Text = res.ToString();
                    num++;
                    tmp = 0;
                    dot = NODOT;
                    break;
                case "1/x":  //倒数运算
                    if (opt != NULL)
                    {
                        calc();
                    }
                    if (tmp != 0)
                    {
                        res = 1 / tmp;
                        //res=tmp;
                    }
                    else
                        res = 1 / res;
                    txtShow.Text = res.ToString();
                    tmp = 0;
                    dot = NODOT;
                    break;
                case ".":
                    // 点击了小数点
                    if (dot == HASDOT)
                        return;
                    else
                    {
                        dot = HASDOT;
                        dotnum = 0;
                    }
                    break;
                case "+/-":
                    // 点击了符号运算
                    if (tmp != 0)
                    {
                        tmp = -tmp;
                        txtShow.Text = tmp.ToString();
                    }
                    else
                    {
                        res = -res;
                        //res=tmp;
                        txtShow.Text = res.ToString();
                    }
                    dot = NODOT;
                    break;
                case "CE":     //清除运算
                    res = 0;         // 记录结果数
                    tmp = 0;         // 当前输入的操作数
                    opt = NULL;         // 记录操作码
                    dot = NODOT;    // 记录是否点击了小数点
                    num = 0;        // 记录输入操作数的个数
                    dotnum = 0;        // 记录小数点部分的个数
                    txtShow.Text = "";
                    break;
                case "C":         //清除运算
                    res = 0;         // 记录结果数
                    tmp = 0;         // 当前输入的操作数
                    opt = NULL;         // 记录操作码
                    dot = NODOT;    // 记录是否点击了小数点
                    num = 0;        // 记录输入操作数的个数
                    dotnum = 0;        // 记录小数点部分的个数
                    txtShow.Text = "";
                    break;

            }
        }

        #endregion
        /*
        #region     主菜单事件
        //打开关于主题---调用windows xp中计算器的帮助
        private void menuItem5_Click(object sender, System.EventArgs e)
        {
            Help.ShowHelp(this, "C:\\WINDOWS\\Help\\calc.chm");
        }



        //打开于我们
        private void menuItem6_Click(object sender, System.EventArgs e)
        {
            Form2 fm = new Form2();
            fm.Show();

        }

        //复制
        private void menuItem2_Click(object sender, System.EventArgs e)
        {
            if (txtShow.SelectionLength > 0)
            {
                txtShow.Copy();
            }
        }
        //
        //粘贴
        private void menuItem3_Click(object sender, System.EventArgs e)
        {
            txtShow.Paste();
        }

        //调用windows xp中的计算器
        private void menuItem9_Click(object sender, System.EventArgs e)
        {
            Help.ShowHelp(this, "C:\\WINDOWS\\system32\\calc.exe");
        }
        //退出
        private void menuItem10_Click(object sender, System.EventArgs e)
        {
            Application.Exit();
        }

        #endregion
        */

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -