精华内容
下载资源
问答
  • 计算器需求分析

    2012-11-27 21:18:06
    科学计算器需求分析文档,按照国际标准编写,有少量内容缺失
  • 计算器需求分析.pdf

    2020-07-20 00:26:29
    科学计算器需求分析 1 引言 11 编写目的 计算机的发展突飞猛进人们使用计算机的目的各不相同但是我 们很容易发现关于计算的 问题生活中随处可见于是计算器也是计 算机中必备的软件我们可以使用计算器进行复杂的算术...
  • 科学计算器<!--red_end--> 科学型 计算器——电子计算器的一种。可进行乘方、开方、指数、对数、三角函数、统计等方面的运算,又称函数计算器。目前的<!--red_beg-->计算器有<!--red_end-->标准型...

     

      • 科学计算器<!--red_end--> 科学型 计算器——电子计算器的一种。可进行乘方、开方、指数、对数、三角函数、统计等方面的运算,又称函数计算器。目前的<!--red_beg-->计算器有<!--red_end-->标准型和科学型。 《用正则表达式处理字符串,只提取其中的数字和运算符,并转换成列。
         

    转载于:https://www.cnblogs.com/taolishuang/p/7494997.html

    展开全文
  • 7 7.其它需求 错误未定义书签 错误 错误未定义书签 错误未定义...错误未定义书签 错误未定义书签 计算器需求分析与概要设计说书 学号 姓名 王迪 班级 计科1004 电话 其它联系方式 版本号 201163 最终版 最修改日期 1 .
  • java计算器需求报告

    2008-10-14 11:02:00
    swing编辑的计算器需求报告,java计算器需求报告
  • 科学计算器 科学型 计算器——电子计算器的一种。可进行乘方、开方、指数、对数、三角函数、统计等方面的运算,又称函数计算器。目前的计算器有标准型和科学型。 《用正则表达式处理字符串,只提取其中的数字和...

    科学计算器 科学型 计算器——电子计算器的一种。可进行乘方、开方、指数、对数、三角函数、统计等方面的运算,又称函数计算器。目前的计算器有标准型和科学型。

     

    《用正则表达式处理字符串,只提取其中的数字和运算符,并转换成列表

    编写一个函数,处理没有括号的基本运算的基本表达式

    再写一个函数递归处理带有括号的函数,先计算最内部括号中的表达式, 然后将最内部的括号替换为计算后的结果, 在递归外部一层的, 最后返回的就是所需的结果》

    转载于:https://www.cnblogs.com/xiaoluziwoaini/p/7486802.html

    展开全文
  • abacus 3 是一个小型简易计算器,可以用它作为计算机上的日常计算器使用,比系统自带计算器强大得多,比如它支持用户自定义运算符或者函数,支持使用变量和符号常量等。  2 . 总体描述  2.1 产品...

          引言:计算器 abacus 2 完成几个月了,越来越不满足于 abacus 的结构逻辑,总觉得好多地方不够完美,早就有全部重写的打算,苦于工作繁忙,一直没有机会,趁着清明节小假的机会,准备把 abacus 3 的设计给做了。

       1.简介

         abacus 3 是一个小型简易计算器,可以用它作为计算机上的日常计算器使用,比系统自带计算器强大得多,比如它支持用户自定义运算符或者函数,支持使用变量和符号常量等。

       2.总体描述

            2.1 产品目标

          abacus 3 的目标是打造一个日常使用的计算器,用于代替系统自带计算器,并提供更多实用的数学功能。

            2.2 产品功能

          abacus 3 需要具备如下功能:

    • 支持四则混合运算
    • 支持常用数学函数
    • 支持符号常量
    • 支持用户自定义变量并参与运算
    • 支持用户自定义运算符与函数
       3.详细需求

             3.1 界面需求

          abacus 3 暂不使用 GUI 界面,以命令行的方式运行程序。程序启动后,用户逐条输入计算命令,并等待计算器输出结果。

             3.2 功能需求

    • 支持四则混合运算,详细的运算符列表见下表,还需支持表达式的嵌套,嵌套括号限定为小括号,但允许任意层嵌套。 
    运算符形式 功能描述
    x + y 求 x 与 y 的和
    x - y 求 x 减去 y 的差
    x * y 求 x 与 y 的积
    x / y 求 x 除以 y 的商
    x % y 求 x 除以 y 的余数
    - x 求 x 的相反数
    x ^ y 求 x 的 y 次方
    x! 求 x 的阶乘
    x!! 求 x 的双阶乘

    • 支持常用数学函数,需要支持三角函数、指对函数等常用的数学函数,函数的详细列表见下表。
    函数形式 功能描述
    abs(x) 求 x 的绝对值
    pow(x, y) 求 x 的 y 次方
    pow10(x)
    求 10 的 x 次方
    exp(x)
    求 e 的 x 次方,e 是自然对数的底数
    log(x, y) 求 x 的以 y 为底的对数
    log10(x) 求 x 的以 10 为底的对数
    ln(x) 求 x 的以 e 为底的对数,e 是自然对数的底数
    sqrt(x) 求 x 的算术平方根
    sin(x) 求 x 的正弦,x 采用弧度制
    cos(x) 求 x 的余弦,x 采用弧度制
    tan(x) 求 x 的正切,x 采用弧度制
    arcsin(x) 求 x 的反正弦
    arccos(x) 求 x 的反余弦
    arctan(x) 求 x 的反正切
    sinh(x) 求 x 的双曲正弦
    cosh(x)
    求 x 的双曲余弦
    tanh(x)
    求 x 的双曲正切
    max(x1, x2, ..., xn)
    求 x1, x2, ..., xn 中的最大值
    min(x1, x2, ..., xn) 求 x1, x2, ..., xn 中的最小值
    ceil(x)
    求不小于 x 的最小整数
    floor(x) 求不大于 x 的最大整数

    • 支持符号常量,在表达式中可以使用圆周率、自然对数的底数等符号常量,例如求半径为 2.3 的圆的面积可以输入表达式 PI * 2.3 * 2.3,用户可以定义自己的符号常量并永久保存并使用,计算器内置符号常量列表如下:
    标识符
    描述
    PI 圆周率 3.141592654
    E 自然对数的底数 2.718281828

    • 支持用户自定义变量并参与运算,要求如下:
    1. 变量的名称中只能包含字母和数字,并且必须以字母开头
    2. 允许一次定义多个变量
    3. 定义变量的时候可以指定值也可以不指定
    4. 需有变量赋值的功能
    5. 如果使用未经赋值的变量参与运算,程序应当给出出错提示
    6. 允许用户定义符号常量并永久存储使用
    • 支持用户自定义运算符与函数,要求如下:
    1. 函数名称只能包含字母和数字,并且必须以字母开头
    2. 允许一次定义多个运算符或函数,运算符需指定优先级
    3. 定义运算符或函数时必须指定完成计算的表达式
    4. 自定义的运算符或函数不得与内置运算符或函数同名冲突
    5. 提供自定义运算符或函数的永久存储使用

             3.3 非功能需求

    • 程序应该跨平台
    • 运算响应速度应得到保证
    • 应具有简短易理解的错误提示
     


    转载于:https://my.oschina.net/zhcosin/blog/119886

    展开全文
  • 文章目录1 计算器程序界面分析2 计算器界面程序实现2.1 计算器界面程序初步实现2.2 计算器界面代码重构 1 计算器程序界面分析 程序界面如下: 界面设计: 定义组件间的间隔: Space = 10px 定义按钮组件的大小...

    1 计算器程序界面分析

    程序界面如下:

    在这里插入图片描述

    界面设计:

    • 定义组件间的间隔:
      • Space = 10px
    • 定义按钮组件的大小:
      • Width = 40px,Height = 40px
    • 定义文本框组件的大小:
      • Width = 5 * 40px + 4 * 10px, Height = 30px

    在这里插入图片描述
    对于Qt应用程序开发:

    • GUI应用程序开发前必须进行界面设计。
    • GUI应用程序界面需要考虑各个细节:
      • 界面决定最终用户的体验。
      • 界面细节是GUI应用程序品质的重要体现。
    • Qt库有能力实现各种GUI应用程序需求。
    • Qt帮助文档的使用对于开发是非常重要的。

    2 计算器界面程序实现

    2.1 计算器界面程序初步实现

    初步实现的代码如下:

    #include <QtGui/QApplication>
    #include <QWidget>
    #include <QLineEdit>
    #include <QPushButton>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        QWidget* w = new QWidget(NULL, Qt::WindowCloseButtonHint);
        QLineEdit* le = new QLineEdit(w);
        QPushButton* button[20] = {0};
        const char* btnText[20] =
        {
            "7", "8", "9", "+", "(",
            "4", "5", "6", "-", ")",
            "1", "2", "3", "*", "<-",
            "0", ".", "=", "/", "C",
        };
        int ret = 0;
    
        le->move(10, 10);
        le->resize(240, 30);
        le->setReadOnly(true);
    
        for(int i=0; i<4; i++)
        {
            for(int j=0; j<5; j++)
            {
                button[i*5 + j] = new QPushButton(w);
                button[i*5 + j]->resize(40, 40);
                button[i*5 + j]->move(10 + (10 + 40)*j, 50 + (10 + 40)*i);
                button[i*5 + j]->setText(btnText[i*5 + j]);
            }
        }
    
        w->show();
        w->setFixedSize(w->width(), w->height());
        
        ret = a.exec();
    
        delete w;
    
        return ret;
    }
    
    

    运行效果如下:

    在这里插入图片描述

    2.2 计算器界面代码重构

    在重构前先了解下重构的基本概念,什么是软件开发过程中的重构呢?

    重构(Refactoring)是以改善代码质量为目的的代码重写:

    • 使其软件的设计与架构更加合理。
    • 提高软件的扩展性和维护性。

    代码实现与代码重构不同:

    • 代码实现:
      • 按照设计编程实现,重心在于功能实现。
    • 代码重构:
      • 以提高代码质量为目的的软件架构优化。

    区别:

    • 代码实现时不考虑架构的好坏,只考虑功能的实现。
    • 代码重构时不能影响已实现的功能,只考虑架构的改善。

    下面简单看一下软件开发过程:

    • 从工程的角度对软件开发中的活动进行定义和管理。
      在这里插入图片描述
      再来看一下什么样的代码需要重构:
    • 当发现项目中重复的代码越来越多时。
    • 当发现项目中代码功能越来越不清晰时。
    • 当发现项目中代码离设计越来越远时。

    重构的进行:

    • 重构是维持代码质量在可接受范围内的重要方式。
    • 重构的时机和方式由项目组使用的软件开发过程(Process)决定。

    计算器界面代码重构:
    在这里插入图片描述
    目录结构如下:
    在这里插入图片描述
    QCalculatorUI.h:

    #ifndef _QCALCULATORUI_H_
    #define _QCALCULATORUI_H_
    
    #include <QWidget>
    #include <QLineEdit>
    #include <QPushButton>
    
    class QCalculatorUI : public QWidget
    {
    private:
        QLineEdit* m_edit;
        QPushButton* m_buttons[20];
    
        QCalculatorUI();
        bool construct();
    public:
        static QCalculatorUI* NewInstance();
        void show();
        ~QCalculatorUI();
    };
    
    #endif
    
    

    QCalculatorUI.cpp:

    #include "QCalculatorUI.h"
    
    QCalculatorUI::QCalculatorUI() : QWidget(NULL, Qt::WindowCloseButtonHint)
    {
    
    }
    
    bool QCalculatorUI::construct()
    {
        bool ret = true;
        const char* btnText[20] =
        {
            "7", "8", "9", "+", "(",
            "4", "5", "6", "-", ")",
            "1", "2", "3", "*", "<-",
            "0", ".", "=", "/", "C",
        };
    
        m_edit = new QLineEdit(this);
    
        if( m_edit != NULL )
        {
            m_edit->move(10, 10);
            m_edit->resize(240, 30);
            m_edit->setReadOnly(true);
        }
        else
        {
            ret = false;
        }
    
        for(int i=0; (i<4) && ret; i++)
        {
            for(int j=0; (j<5) && ret; j++)
            {
                m_buttons[i*5 + j] = new QPushButton(this);
    
                if( m_buttons[i*5 + j] != NULL )
                {
                    m_buttons[i*5 + j]->resize(40, 40);
                    m_buttons[i*5 + j]->move(10 + (10 + 40)*j, 50 + (10 + 40)*i);
                    m_buttons[i*5 + j]->setText(btnText[i*5 + j]);
                }
                else
                {
                    ret = false;
                }
            }
        }
    
        return ret;
    }
    
    QCalculatorUI* QCalculatorUI::NewInstance()
    {
        QCalculatorUI* ret = new QCalculatorUI();
    
        if( (ret == NULL) || !ret->construct() )
        {
            delete ret;
            ret = NULL;
        }
    
        return ret;
    }
    
    void QCalculatorUI::show()
    {
        QWidget::show();
    
        setFixedSize(width(), height());
    }
    
    QCalculatorUI::~QCalculatorUI()
    {
    
    }
    
    

    main.cpp:

    #include <QtGui/QApplication>
    #include "QCalculatorUI.h"
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        QCalculatorUI* cal = QCalculatorUI::NewInstance();
        int ret = -1;
    
        if( cal != NULL )
        {
            cal->show();
    
            ret = a.exec();
    
            delete cal;
        }
    
        return ret;
    }
    
    

    注意:上述代码中使用了二阶构造模式,在Qt中如果动态内存申请失败的话会抛出bad_alloc异常,所以不能使用NULL对返回值进行判断,这样做是徒劳的。我们需要使用try catch进行异常捕获,如果抛出了异常再返回NULL。


    参考资料:

    1. QT实验分析教程
    展开全文
  • 给予一个字符串, 例如 1+2/3+5.4*7.5-8.3,算出结果 不支持负数计算, -1+2 or -1+-2 不允许的 Help...
  • 逆波兰计算器

    2019-07-20 16:34:23
    需求分析 输入一个逆波兰表达式,使用栈(Stack),计算其结果 支持小括号和多位数整数,因为这里目的是搞懂数据结构,而不是写计算器,所以,这里对计算器进行简化,只支持对整数的计算。 思路分析 从左至右...
  • C#简易版计算器

    千次阅读 2018-12-28 18:22:44
    计算器需求分析 1.界面分析 做一个显示屏 17个按钮(0~9 +-*/% =ce) 2.需要实现的功能 选择第一个数字 选择运算符 选择第二个数字 按下等号进行计算,结果显示在显示屏中 3.实现步骤 1)先做界面 a.显示...
  • 计算器

    2019-09-26 08:06:22
    利用python的re模块及基本知识,实现计算器
  • C#计算器精简版的制作

    千次阅读 多人点赞 2019-06-03 22:51:12
    计算器需求分析 一、界面设计 1.做一个显示屏 2.17个按钮(0-9,±×÷%=,CE) 二、需要实现的功能 1.输入第一个数字 2.选择运算类型 3.输入第二个数字 4.按下等号计算出结果,结果显示在显示屏上 三、实现步骤 1....
  • 一元稀疏多项式计算器实习报告[] PAGE PAGE 1 作者 日期 实习报告 题目设计一个一元稀疏多项式计算器 班级: 姓名 学号_完成日期_ 一课程题目 一元稀疏多项式计算器 需求分析 1一元稀疏多项式简单计算器的功能是 1.1 ...
  • 需求分析 输入第一个和第二个数,点击等号按钮,得到正确答案,并清空前两个按钮。 最基础的代码: package com.queryor.lesson02; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event...
  • 房贷计算器.docx

    2020-05-10 13:29:34
    自己写的C++大作业报告,内容是一款房贷利息计算器的开发过程,包含需求分析、设计理念、调试分析和总结。
  • C#计算器设计

    千次阅读 2019-06-11 13:03:40
    2.掌握和分析需求,并根据需求实现相应的功能 。 3.熟悉系统调试等相关能力,形成初步的有实用意义的计算器程序。 计算器运行结果如下: public static List<char> inputStr = new List<char>(1000); /...
  • 服务器性能计算需求分析.pdf
  • 简单计算机需求分析 第一篇引言 一 编写目的 在日常生活中各种各样的计算器出现在市场上各种各 样的齐全功能使人们能方便的使用计算器计算各种复杂的数据 但功能越强健的计算器价格昂贵 操作不方便 所以依靠自己学 ...
  • 简易计算器

    2015-10-07 21:01:00
    需求分析:创建一个简易计算器写一个能对0到10之间的整数进行四则运算的“软件” 程序,能够对用户填写的结果进行判断并且能计算出用户做题的正确率 设计思路:向窗体中添加各种控件 利用代码控件来实现这次...
  • 关键词:C# .NET 计算器 词法分析 语法分析 表达式计算 ConExpress Calculator 写在前面的话其实很早之前就想写点关于这个的话题了,可总觉得其中的逻辑有点乱,不敢贸然动手。前一阵看了设计模式的书,心血...
  • 计算器练习

    2021-10-11 12:08:52
    //需求计算器能够实现整数加减乘除运算 //两个输入框输入数字,一个下拉框选择运算符号,再来一个提交(计算)按钮,最后一个框用来显示结果. //第一步:构建第一个输入框(type类型为text,) //第二步:构建第二...
  • QT实验分析教程 计算器程序界面设计(6)     计算器程序界面 定义组件间的间隔:Space = 10px 定义按钮组件的大小:Width = 40px,Height = 40px 定义文本框组件的大小:Width = 5 * 40px + 4 * 10px, ...
  • c#实现科学计算器 —— 总体分析

    千次阅读 2008-03-11 13:04:00
    引言 早在一年前,我就用VC++设计了一个能够计算表达式的科学计算器,但由于当时才大二,对于“编译原理”这种东西根本就没有概念,因此设计时遇到了有关错误文法分析的问题(当时只知道要在用户输入不正确的表达式...
  • Java计算器文档

    2012-01-04 21:16:35
    简单Java计算器实现,其中包括了对数据的复制粘贴功能,文档从专业角度撰写,有需求分析、概要设计、详细文档等......希望能给大家带来一点好处。(主要是前阵子看到有个人也在CSDN上面上传了一个关于计算器的文档,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,792
精华内容 4,316
关键字:

计算器需求分析