zoukankan      html  css  js  c++  java
  • 结对项目(四则运算版)

    学习了一会正则表达式

    匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.] w+)*.w+([-.]w+)*
    ^[A-Za-z]+$  //匹配由26 个英文字母组成的字符串
    ^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
    ^[a-z]+$  //匹配由26个英文字母 的小写组成的字符串
    ^[A-Za-z0-9]+$  
    ^w+$  

    后台使用技术SSM

    前台 html+css+js+ajax

    1.Calc()

    这个Calc 函数接受字符串的输入(字符串里就是算术表达式,例如 “5*3.5”,“7/8 - 3/8 ”,“3 + 90 * (-0.3)”等等),这个模块的返回值是一个字符串,例如,前面几个例子的结果就是(“17.5”,“1/2”,“-24”)。

     2.Setting()

    在生成四则运算题目之前,需要对一系列属性进行设置,例如生成题目的数量,操作数的数量,题目及答案中的数值的范围,运算符的种类,(+-*/,是否支持真分数运算,是否支持小数运算,是否支持乘方运算……

     3.Generate()

    生成所需要的题目了,题目增加以下限制

    • 生成的题目计算过程中不能产生负数
    • 生成的题目中不能包括不必要的括号
    • 程序一次运行生成的题目不能重复

    实现以上接口,编写API文档,供UI组使用(亦可自行增加功能

    class fomularNode
     2 {
     3 public:
     4     int value;
     5     bool chFlag;//if true,value is ascii
     6     fomularNode* lchild;
     7     fomularNode* rchild;
     8     fomularNode() :value(0),chFlag(false),lchild(NULL),rchild(NULL){}
     9     fomularNode(int val, bool flag, fomularNode* lch=NULL, fomularNode* rch=NULL)
    10     {
    11         value = val;
    12         chFlag = flag;
    13         lchild = lch;
    14         rchild = rch;
    15     }
    16 };
    17 
    18 class fomularCore
    19 {
    20 private:
    21     vector<fomularNode*> fomulars;
    22     vector<char> ops = {'+','-','*','/','^','(',')'};//all ops 需要保持最后两个是括号!
    23     vector<string> finalRes;//最终结果,和Generate返回值一一对应
    24     int maxopNum = 5;//每个表达式中运算符个数
    25     int range = 100;//操作数数的上限
    26     int precise = 2;//输出精度(最大为6)
    27     int fomuNum;//表达式个数
    28     int MaxRange = 100000;//运算中出现的最大数
    29     bool fractionflag = true;//是否进行分数运算
    30     double result[MAX_FOMU_NUM];//原始字符串运算结果
    31     bool okFlag[MAX_FOMU_NUM];//判断原始字符串是否符合要求
    32 public:
    33       //省略  
    34 }    

     

  • 相关阅读:
    maven工程下添加oracle驱动包
    面试题----入参两个Integer,无返回值,然后使这个两个值在调用函数后交换
    使用spring data solr 实现搜索关键字高亮显示
    MyBatisPlus忽略映射字段注解
    Linux下Solr单机版、集群版安装与配置
    AngularJs实现全选功能
    SpringBoot2.0整合mybatis、shiro、redis实现基于数据库权限管理系统
    springboot2.0集成shiro出现ShiroDialect报错找不到AbstractTextChildModifierAttrPr
    linux下ssh远程登录服务器入门操作
    英文邮件寻求帮助的礼貌用语
  • 原文地址:https://www.cnblogs.com/yanwenhui/p/13086965.html
Copyright © 2011-2022 走看看