• 大小: 1.05MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-28
  • 语言: C#
  • 标签: C#  Laura  

资源简介

基于Laura.Compute开发的C#win窗口科学计算器程序。

资源截图

代码片段和文件信息

/**
*@项目名称: C#科学计算器
*@Date: 2015.10.26
*@author:enverer 775004030@qq.com
*本项目开放源代码,读者可自由查看、修改、使用、发布
*如果有想法可联系作者
*本代码为学校中的一次作业,之后并不会再维护
*/

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Laura.Compute;


namespace Calculator
{
    public partial class Form1 : Form
    {
        private double saver;
        private bool isShift;
        private double ANS;
        public Form1()
        {
            InitializeComponent();
            saver = 0;
            isShift = false;
            ANS = 0;
        }

        private double factor(double n)
        {
            double result = 1;
            while (n >= 1)
            {
                result *= n--;

            }
            return result;
        }
        private void FindInsideLast(int posstring textcal string name out int last)//找到函数的参数
        {
            last = 0; ;
            int length = name.Length;
            int n = 1;//未匹配的左括号个数
            for (int i = pos + length; i < textcal.Length; i++)
            {
                if (textcal[i] == ‘(‘)
                {
                    n++;
                }
                if (textcal[i] == ‘)‘)
                {
                    n--;
                }
                if (n == 0)
                {
                    last = i;
                    break;
                }
            }
        }
        //找到!前的数字
        private void Res_Findnumber(string textcal int index out double number)
        {
            int i;
            for (i = index - 1; i >= 0; i--)
            {
                if (!Char.IsDigit(textcal[i]) && (textcal[i] != ‘.‘))
                    break;
            }
            number = Double.Parse(textcal.Substring(i + 1 index - i - 1));
        }
       
        private string Preformat(String textcal)
        {
            textcal.Replace(“ “ ““);//去除所有空格
            textcal = textcal.Replace(“e“ Math.E.ToString());//将e替换为数字
            textcal = textcal.Replace(“e“ Math.E.ToString());//将π替换为数字
            textcal = textcal.Replace(“ANS“ ANS.ToString());//将ANS替换为数字
            int pos = 0;
            while ((pos = textcal.IndexOf(“!“)) != -1)//处理阶乘
            {
                double num;
                Res_Findnumber(textcal pos out num);

                double result = factor(num);
                textcal = textcal.Replace(num.ToString() + “!“ result.ToString());
            }
            //处理arcsin

            while ((pos = textcal.IndexOf(“arcsin(“)) != -1)
            {
                string name = “arcsin(“;
                int last;
                FindInsideLast(pos textcal name out last);
                double result = Math.Asin(Double.Parse(Compute(textcal.Substring(pos + name.Length last - pos - na

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-10-25 10:49  Calculator\
     目录           0  2015-10-26 15:08  Calculator\Calculator\
     文件        2842  2015-10-25 10:57  Calculator\Calculator.sln
     文件       95744  2015-10-26 15:08  Calculator\Calculator.v12.suo
     文件         187  2015-10-20 09:55  Calculator\Calculator\App.config
     目录           0  2015-10-25 20:16  Calculator\Calculator\bin\
     目录           0  2015-10-25 10:58  Calculator\Calculator\bin\Debug\
     文件       43520  2015-10-25 20:07  Calculator\Calculator\bin\Debug\Calculator.exe
     文件         187  2015-10-20 09:55  Calculator\Calculator\bin\Debug\Calculator.exe.config
     文件       50688  2015-10-25 20:07  Calculator\Calculator\bin\Debug\Calculator.pdb
     文件       23168  2015-10-25 20:09  Calculator\Calculator\bin\Debug\Calculator.vshost.exe
     文件         187  2015-10-20 09:55  Calculator\Calculator\bin\Debug\Calculator.vshost.exe.config
     文件         490  2010-03-17 22:39  Calculator\Calculator\bin\Debug\Calculator.vshost.exe.manifest
     文件       83968  2015-10-25 17:43  Calculator\Calculator\bin\Debug\Laura.Compute.dll
     文件      292352  2015-10-25 17:43  Calculator\Calculator\bin\Debug\Laura.Compute.pdb
     文件       15872  2015-10-25 10:57  Calculator\Calculator\bin\Debug\Laura.Compute.Test.exe
     文件       28160  2015-10-25 10:57  Calculator\Calculator\bin\Debug\Laura.Compute.Test.pdb
     目录           0  2015-10-26 12:18  Calculator\Calculator\bin\Release\
     文件       42496  2015-10-26 15:08  Calculator\Calculator\bin\Release\Calculator.exe
     文件         187  2015-10-20 09:55  Calculator\Calculator\bin\Release\Calculator.exe.config
     文件       48640  2015-10-26 15:08  Calculator\Calculator\bin\Release\Calculator.pdb
     文件       23168  2015-10-26 15:08  Calculator\Calculator\bin\Release\Calculator.vshost.exe
     文件         187  2015-10-20 09:55  Calculator\Calculator\bin\Release\Calculator.vshost.exe.config
     文件         490  2010-03-17 22:39  Calculator\Calculator\bin\Release\Calculator.vshost.exe.manifest
     文件       77312  2015-10-25 20:17  Calculator\Calculator\bin\Release\Laura.Compute.dll
     文件      220672  2015-10-25 20:17  Calculator\Calculator\bin\Release\Laura.Compute.pdb
     文件       15360  2015-10-25 20:17  Calculator\Calculator\bin\Release\Laura.Compute.Test.exe
     文件       26112  2015-10-25 20:17  Calculator\Calculator\bin\Release\Laura.Compute.Test.pdb
     文件        5665  2015-10-25 20:17  Calculator\Calculator\Calculator.csproj
     文件         453  2015-10-25 20:17  Calculator\Calculator\Calculator.csproj.user
     文件       15178  2015-10-26 15:08  Calculator\Calculator\Form1.cs
............此处省略179个文件信息

评论

共有 条评论