四则运算2的单元测试

  1 /*2013/3/12   李萌  20133079 */
  2 #include <iostream>
  3 #include <ctime>
  4 using namespace std;
  5 void Opreands_1()  /*产生操作数 (-9 -- 9)除0*/
  6 {
  7     while(int f=1)
  8     {
  9         int Oper=rand()%19-9;
 10         if(Oper>0)             /*没有0*/
 11         {
 12             cout<<Oper;
 13             break;
 14         }
 15         if(Oper<0)
 16         {
 17             cout<<"("<<Oper<<")";
 18             break;
 19         }
 20     }
 21 }
 22 void Operands_2()/*-9到9  有0*/
 23 {
 24     while(int f=1)  /*产生操作数 (-9 -- 9)*/
 25     {
 26         int Oper=rand()%19-9;
 27         if(Oper>=0)/*有0*/
 28         {
 29             cout<<Oper;
 30             break;
 31         }
 32         else
 33         {
 34             cout<<"("<<Oper<<")";
 35             break;
 36         }
 37     }
 38 }
 39 void Operator_1()/*随机产生运算符   有乘除*/
 40 {
 41     int f=rand()%4;
 42     if(f==0)
 43     {
 44         cout<<"+";
 45     }
 46     if(f==1)
 47     {
 48         cout<<"-";
 49     }
 50     if(f==2)
 51     {
 52         cout<<"*";
 53     }
 54     if(f==3)
 55     {
 56         cout<<"÷";
 57     }
 58 }
 59 void Operator_2()/*随机产生运算符   无乘除*/
 60 {
 61     int f=rand()%2;
 62     if(f==0)
 63     {
 64         cout<<"+";
 65     }
 66     if(f==1)
 67     {
 68         cout<<"-";
 69     }
 70 }
 71 int Bracket_l(int left) /*随机产生左括号*/
 72 {
 73     int f=rand()%3;
 74     if(f<2)
 75     {
 76         return left;
 77     }
 78     if(f==2)
 79     {
 80         cout<<"(";
 81         return left+1;
 82     }
 83 }
 84 int Bracket_r(int right) /*随机产生右括号*/
 85 {
 86     int r=rand()%5;
 87     if(r==0)
 88     {
 89         return right;
 90     }
 91     if(r>0) /*产生右括号的概率大 */
 92     {
 93         cout<<")";
 94         return right+1;
 95     }
 96 }
 97 void Way_1() /*最多可支持10个数参与计算   有乘除 有括号 10以内 加减有负数 除法有余数*/
 98 {
 99     int length=rand()%9+2; /*随机产生表达式中操作数的个数 2-10 个*/
100     int left=0,right=0,flag=0,left_1;
101     for(int i=0;i<length-1;i++)
102     {
103         left_1=left;
104         left=Bracket_l(left);
105         if(left_1!=left)     /*产生了左括号  flag=i*/
106         {
107             flag=i;
108         }
109         Opreands_1();
110         if(left>right&&flag!=i) /*左括号大于右括号的个数 and 产生左括号和右括号不在一个循环里  即不会产生“(随机数)” 这种无效情况*/
111         {
112             right=Bracket_r(right);
113         }
114         Operator_1();  /*有乘除*/
115     }
116     Opreands_1(); /*因为 一个操作数一个运算符   还缺少一个操作数 (-9 -- 9)*/
117     cout<<" = "<<endl;
118 }
119
120 void main() /*主函数*/
121 {
122     srand((unsigned)time(0));
123     cout<<"--------------------------------------------------------------------------"<<endl;
124     cout<<"最多可支持10个数参与计算  有乘除 有括号 -9到9  加减有负数 除法有余数"<<endl;
125     for(int num=0;num<30;num++)
126     {
127         cout<<num+1<<"、 ";
128         Way_1();
129     }
130 }

有乘除、有括号、-9到9 加减有负数  除法有余数     结果如图

  1 /*2013/3/12   李萌  20133079 */
  2 #include <iostream>
  3 #include <ctime>
  4 using namespace std;
  5 void Opreands_1()  /*产生操作数 (-9 -- 9)除0*/
  6 {
  7     while(int f=1)
  8     {
  9         int Oper=rand()%19-9;
 10         if(Oper>0)             /*没有0*/
 11         {
 12             cout<<Oper;
 13             break;
 14         }
 15         if(Oper<0)
 16         {
 17             cout<<"("<<Oper<<")";
 18             break;
 19         }
 20     }
 21 }
 22 void Operands_2()/*-9到9  有0*/
 23 {
 24     while(int f=1)  /*产生操作数 (-9 -- 9)*/
 25     {
 26         int Oper=rand()%19-9;
 27         if(Oper>=0)/*有0*/
 28         {
 29             cout<<Oper;
 30             break;
 31         }
 32         else
 33         {
 34             cout<<"("<<Oper<<")";
 35             break;
 36         }
 37     }
 38 }
 39 void Operator_1()/*随机产生运算符   有乘除*/
 40 {
 41     int f=rand()%4;
 42     if(f==0)
 43     {
 44         cout<<"+";
 45     }
 46     if(f==1)
 47     {
 48         cout<<"-";
 49     }
 50     if(f==2)
 51     {
 52         cout<<"*";
 53     }
 54     if(f==3)
 55     {
 56         cout<<"÷";
 57     }
 58 }
 59 void Operator_2()/*随机产生运算符   无乘除*/
 60 {
 61     int f=rand()%2;
 62     if(f==0)
 63     {
 64         cout<<"+";
 65     }
 66     if(f==1)
 67     {
 68         cout<<"-";
 69     }
 70 }
 71 int Bracket_l(int left) /*随机产生左括号*/
 72 {
 73     int f=rand()%3;
 74     if(f<2)
 75     {
 76         return left;
 77     }
 78     if(f==2)
 79     {
 80         cout<<"(";
 81         return left+1;
 82     }
 83 }
 84 int Bracket_r(int right) /*随机产生右括号*/
 85 {
 86     int r=rand()%5;
 87     if(r==0)
 88     {
 89         return right;
 90     }
 91     if(r>0) /*产生右括号的概率大 */
 92     {
 93         cout<<")";
 94         return right+1;
 95     }
 96 }
 97 void Way_2()/*最多可支持10个数参与计算   无乘除 有括号 10以内 加减有负数 除法有余数*/
 98 {
 99     int length=rand()%9+2; /*随机产生表达式中操作数的个数 2-10 个*/
100     int left=0,right=0,flag=0,left_1;
101     for(int i=0;i<length-1;i++)
102     {
103         left_1=left;
104         left=Bracket_l(left);
105         if(left_1!=left)     /*产生了左括号  flag=i*/
106         {
107             flag=i;
108         }
109         Operands_2();  /*产生操作数 (-9 -- 9)*/
110         if(left>right&&flag!=i) /*左括号大于右括号的个数 and 产生左括号和右括号不在一个循环里  即不会产生“(随机数)” 这种无效情况*/
111         {
112             right=Bracket_r(right);
113         }
114         Operator_2();/*无乘除*/
115     }
116     Operands_2();  /*因为 一个操作数一个运算符   还缺少一个操作数 (-9 -- 9)*/
117     for(int i=0;i<left-right;i++)
118     {
119         cout<<")";
120     }
121     cout<<" = "<<endl;
122 }
123 void main() /*主函数*/
124 {
125     srand((unsigned)time(0));
126     cout<<"--------------------------------------------------------------------------"<<endl;
127     cout<<"最多可支持10个数参与计算  无乘除 有括号 -9到9  加减有负数 除法有余数"<<endl;
128     for(int num=0;num<30;num++)
129     {
130         cout<<num+1<<"、 ";
131         Way_2();
132     }
133 }

  1 /*2013/3/12   李萌  20133079 */
  2 #include <iostream>
  3 #include <ctime>
  4 using namespace std;
  5 void Opreands_1()  /*产生操作数 (-9 -- 9)除0*/
  6 {
  7     while(int f=1)
  8     {
  9         int Oper=rand()%19-9;
 10         if(Oper>0)             /*没有0*/
 11         {
 12             cout<<Oper;
 13             break;
 14         }
 15         if(Oper<0)
 16         {
 17             cout<<"("<<Oper<<")";
 18             break;
 19         }
 20     }
 21 }
 22 void Operands_2()/*-9到9  有0*/
 23 {
 24     while(int f=1)  /*产生操作数 (-9 -- 9)*/
 25     {
 26         int Oper=rand()%19-9;
 27         if(Oper>=0)/*有0*/
 28         {
 29             cout<<Oper;
 30             break;
 31         }
 32         else
 33         {
 34             cout<<"("<<Oper<<")";
 35             break;
 36         }
 37     }
 38 }
 39 void Operator_1()/*随机产生运算符   有乘除*/
 40 {
 41     int f=rand()%4;
 42     if(f==0)
 43     {
 44         cout<<"+";
 45     }
 46     if(f==1)
 47     {
 48         cout<<"-";
 49     }
 50     if(f==2)
 51     {
 52         cout<<"*";
 53     }
 54     if(f==3)
 55     {
 56         cout<<"÷";
 57     }
 58 }
 59 void Operator_2()/*随机产生运算符   无乘除*/
 60 {
 61     int f=rand()%2;
 62     if(f==0)
 63     {
 64         cout<<"+";
 65     }
 66     if(f==1)
 67     {
 68         cout<<"-";
 69     }
 70 }
 71 int Bracket_l(int left) /*随机产生左括号*/
 72 {
 73     int f=rand()%3;
 74     if(f<2)
 75     {
 76         return left;
 77     }
 78     if(f==2)
 79     {
 80         cout<<"(";
 81         return left+1;
 82     }
 83 }
 84 int Bracket_r(int right) /*随机产生右括号*/
 85 {
 86     int r=rand()%5;
 87     if(r==0)
 88     {
 89         return right;
 90     }
 91     if(r>0) /*产生右括号的概率大 */
 92     {
 93         cout<<")";
 94         return right+1;
 95     }
 96 }
 97
 98 void Way_3() /*最多可支持10个数参与计算  有乘除 无括号(负数用括号括起来) -9到9  加减有负数 除法有余数*/
 99 {
100     int length=rand()%9+2; /*随机产生表达式中操作数的个数 2-10 个*/
101     int left=0,right=0,flag=0,left_1;
102     for(int i=0;i<length-1;i++)
103     {
104         Opreands_1(); /*-9-9除0*/
105         Operator_1(); /*有乘除*/
106     }
107     Opreands_1();  /* 因为 一个操作数一个运算符   还缺少一个操作数 (-9 -- 9)*/
108     cout<<" = "<<endl;
109 }
110 void main() /*主函数*/
111 {
112     srand((unsigned)time(0));
113
114     cout<<"--------------------------------------------------------------------------"<<endl;
115     cout<<"最多可支持10个数参与计算  有乘除 无括号(负数用括号括起来) -9到9  加减有负数 除法有余数"<<endl;
116     for(int num=0;num<30;num++)
117     {
118         cout<<num+1<<"、 ";
119         Way_3();
120     }
121
122 }

  1 /*2013/3/12   李萌  20133079 */
  2 #include <iostream>
  3 #include <ctime>
  4 using namespace std;
  5 void Opreands_1()  /*产生操作数 (-9 -- 9)除0*/
  6 {
  7     while(int f=1)
  8     {
  9         int Oper=rand()%19-9;
 10         if(Oper>0)             /*没有0*/
 11         {
 12             cout<<Oper;
 13             break;
 14         }
 15         if(Oper<0)
 16         {
 17             cout<<"("<<Oper<<")";
 18             break;
 19         }
 20     }
 21 }
 22 void Operands_2()/*-9到9  有0*/
 23 {
 24     while(int f=1)  /*产生操作数 (-9 -- 9)*/
 25     {
 26         int Oper=rand()%19-9;
 27         if(Oper>=0)/*有0*/
 28         {
 29             cout<<Oper;
 30             break;
 31         }
 32         else
 33         {
 34             cout<<"("<<Oper<<")";
 35             break;
 36         }
 37     }
 38 }
 39 void Operator_1()/*随机产生运算符   有乘除*/
 40 {
 41     int f=rand()%4;
 42     if(f==0)
 43     {
 44         cout<<"+";
 45     }
 46     if(f==1)
 47     {
 48         cout<<"-";
 49     }
 50     if(f==2)
 51     {
 52         cout<<"*";
 53     }
 54     if(f==3)
 55     {
 56         cout<<"÷";
 57     }
 58 }
 59 void Operator_2()/*随机产生运算符   无乘除*/
 60 {
 61     int f=rand()%2;
 62     if(f==0)
 63     {
 64         cout<<"+";
 65     }
 66     if(f==1)
 67     {
 68         cout<<"-";
 69     }
 70 }
 71 int Bracket_l(int left) /*随机产生左括号*/
 72 {
 73     int f=rand()%3;
 74     if(f<2)
 75     {
 76         return left;
 77     }
 78     if(f==2)
 79     {
 80         cout<<"(";
 81         return left+1;
 82     }
 83 }
 84 int Bracket_r(int right) /*随机产生右括号*/
 85 {
 86     int r=rand()%5;
 87     if(r==0)
 88     {
 89         return right;
 90     }
 91     if(r>0) /*产生右括号的概率大 */
 92     {
 93         cout<<")";
 94         return right+1;
 95     }
 96 }
 97
 98
 99 void Way_4()  /*最多可支持10个数参与计算  无乘除 无括号(负数用括号括起来) -9到9  加减有负数 除法有余数*/
100 {
101     int length=rand()%9+2; /*随机产生表达式中操作数的个数 2-10 个*/
102     int left=0,right=0,flag=0,left_1;
103     for(int i=0;i<length-1;i++)
104     {
105         Operands_2();  /*产生操作数 (-9 -- 9)*/
106         Operator_2(); /*无乘除*/
107     }
108     Operands_2();  /* 因为 一个操作数一个运算符   还缺少一个操作数 (-9 -- 9)*/
109     cout<<" = "<<endl;
110 }
111
112 void main() /*主函数*/
113 {
114     srand((unsigned)time(0));
115
116     cout<<"--------------------------------------------------------------------------"<<endl;
117     cout<<"最多可支持10个数参与计算  无乘除 无括号(负数用括号括起来) -9到9  加减有负数 除法有余数"<<endl;
118     for(int num=0;num<30;num++)
119     {
120         cout<<num+1<<"、 ";
121         Way_4();
122     }124
125 }

/*2013/3/12   李萌  20133079 */
#include <iostream>
#include <ctime>
using namespace std;
void Opreands_1()  /*产生操作数 (-9 -- 9)除0*/
{
    while(int f=1)
    {
        int Oper=rand()%19-9;
        if(Oper>0)             /*没有0*/
        {
            cout<<Oper;
            break;
        }
        if(Oper<0)
        {
            cout<<"("<<Oper<<")";
            break;
        }
    }
}
void Operands_2()/*-9到9  有0*/
{
    while(int f=1)  /*产生操作数 (-9 -- 9)*/
    {
        int Oper=rand()%19-9;
        if(Oper>=0)/*有0*/
        {
            cout<<Oper;
            break;
        }
        else
        {
            cout<<"("<<Oper<<")";
            break;
        }
    }
}
void Operator_1()/*随机产生运算符   有乘除*/
{
    int f=rand()%4;
    if(f==0)
    {
        cout<<"+";
    }
    if(f==1)
    {
        cout<<"-";
    }
    if(f==2)
    {
        cout<<"*";
    }
    if(f==3)
    {
        cout<<"÷";
    }
}
void Operator_2()/*随机产生运算符   无乘除*/
{
    int f=rand()%2;
    if(f==0)
    {
        cout<<"+";
    }
    if(f==1)
    {
        cout<<"-";
    }
}
int Bracket_l(int left) /*随机产生左括号*/
{
    int f=rand()%3;
    if(f<2)
    {
        return left;
    }
    if(f==2)
    {
        cout<<"(";
        return left+1;
    }
}
int Bracket_r(int right) /*随机产生右括号*/
{
    int r=rand()%5;
    if(r==0)
    {
        return right;
    }
    if(r>0) /*产生右括号的概率大 */
    {
        cout<<")";
        return right+1;
    }
}

void Way_5()  /*最多可支持10个数参与计算  有乘除 无括号(负数用括号括起来) 0-9  加减有负数 除法有余数*/
{
    int length=rand()%9+2; /*随机产生表达式中操作数的个数 2-10 个*/
    int left=0,right=0,flag=0,left_1;
    for(int i=0;i<length-1;i++)
    {
        cout<<rand()%9+1; /*1-9除0*/
        Operator_1(); /*有乘除*/
    }
    cout<<rand()%9+1;  /* 因为 一个操作数一个运算符   还缺少一个操作数 (1 -- 9)*/
    cout<<" = "<<endl;
}

void main() /*主函数*/
{
    srand((unsigned)time(0));

    cout<<"最多可支持10个数参与计算  有乘除 无括号(负数用括号括起来) 0到9  加减有负数 除法有余数"<<endl;
    for(int num=0;num<30;num++)
    {
        cout<<num+1<<"、 ";
        Way_5();
    }

}

/*2013/3/12   李萌  20133079 */
#include <iostream>
#include <ctime>
using namespace std;
void Opreands_1()  /*产生操作数 (-9 -- 9)除0*/
{
    while(int f=1)
    {
        int Oper=rand()%19-9;
        if(Oper>0)             /*没有0*/
        {
            cout<<Oper;
            break;
        }
        if(Oper<0)
        {
            cout<<"("<<Oper<<")";
            break;
        }
    }
}
void Operands_2()/*-9到9  有0*/
{
    while(int f=1)  /*产生操作数 (-9 -- 9)*/
    {
        int Oper=rand()%19-9;
        if(Oper>=0)/*有0*/
        {
            cout<<Oper;
            break;
        }
        else
        {
            cout<<"("<<Oper<<")";
            break;
        }
    }
}
void Operator_1()/*随机产生运算符   有乘除*/
{
    int f=rand()%4;
    if(f==0)
    {
        cout<<"+";
    }
    if(f==1)
    {
        cout<<"-";
    }
    if(f==2)
    {
        cout<<"*";
    }
    if(f==3)
    {
        cout<<"÷";
    }
}
void Operator_2()/*随机产生运算符   无乘除*/
{
    int f=rand()%2;
    if(f==0)
    {
        cout<<"+";
    }
    if(f==1)
    {
        cout<<"-";
    }
}
int Bracket_l(int left) /*随机产生左括号*/
{
    int f=rand()%3;
    if(f<2)
    {
        return left;
    }
    if(f==2)
    {
        cout<<"(";
        return left+1;
    }
}
int Bracket_r(int right) /*随机产生右括号*/
{
    int r=rand()%5;
    if(r==0)
    {
        return right;
    }
    if(r>0) /*产生右括号的概率大 */
    {
        cout<<")";
        return right+1;
    }
}

void Way_6()  /*最多可支持10个数参与计算  无乘除 无括号(负数用括号括起来) 0到9  加减有负数 除法有余数*/
{
    int length=rand()%9+2; /*随机产生表达式中操作数的个数 2-10 个*/
    int left=0,right=0,flag=0,left_1;
    for(int i=0;i<length-1;i++)
    {
        cout<<rand()%10;  /*产生操作数 (0-- 9)*/
        Operator_2(); /*无乘除*/
    }
    cout<<rand()%10;  /* 因为 一个操作数一个运算符   还缺少一个操作数 (0-- 9)*/
    cout<<" = "<<endl;
}
void main() /*主函数*/
{
    srand((unsigned)time(0));

    cout<<"最多可支持10个数参与计算  无乘除 无括号(负数用括号括起来) 0到9  加减有负数 除法有余数"<<endl;
    for(int num=0;num<30;num++)
    {
        cout<<num+1<<"、 ";
        Way_6();
    }
}

时间: 2024-10-10 06:58:34

四则运算2的单元测试的相关文章

随机产生30道四则运算的程序单元测试

四则运算单元测试 一.测试计划: 分模块进行测试,测试各部分模块功能是否能够实现,是否能够独立运行,是否能够实现重复允许,是否有报错处理等. (1)在面对是否有乘除法运算时,输入“0”表示没有乘除法运算,输入“1”表示有乘除法运算,当输入其他数字时,则报错,要求重新输入: (2)在所有的“N”份题都含有乘除法运算时,测试有负数有余数.有负数无余数.无负数有余数.无负数无余数这4种情况下对应的结果是否符合条件(题目的份数N为用户设定),在输入的数值为0或1之外的数值,则默认为1: (3)在所有的“

四则运算单元测试

对于四则运算中的单元测试以两个不同功能的函数为示例展示.仍然采用JUnit4的单元测试框架 下面展示的是没有括号和分数情况下的计算函数 doCalculation的代码片段 // 对生成的4则运算进行计算 public static Double doCalculation(String formula) { ArrayList<Double> numList = new ArrayList<Double>();// 存储运算数 ArrayList<String> op

每周进度及工作量统计——2016.9.22--2016.9.29

项目:词频统计 项目类型:个人项目 项目完成情况:已完成 项目改进:相比2016.9.15日前,已变更,单元测试 项目日期:2016.9.22-2016.9.28 C类别 C内容 S开始时间 E结束时间 I间隔 T净时间 P预计时间 学习 学习JUnit 19:32 21:15 15 103 60 测试实践 简单测试 21:40 22:45 0 5 10 测试工程 词频统计的单元测试 10:20 18:25 200 285 60 覆盖率学习 覆盖率统计方法 19:10 19:40 10 20 3

《构建之法》软件工程教学三校3月份对比

目录 1    概述 2    背景对比 3    网络教学方式对比 4    作业强度对比 5    单样本学生作业得分统计 概述 2015年新学期,石家庄铁道学院.广州商学院.贵州师范大学同时在软件工程教学课程上采用了邹欣<构建之法>作为教程,本教程的核心理念是"做中学". 三个学校的学生同步进行了下面工作: 学生在博客园上建立账户 每次作业的结果在博客上呈现 课程由教师或者配备的网络助教进行点评 本文档根据三个学校3月份到4月份的学生博客做初步的对比. 背景对比 学校

简易四则运算生成程序——第一次改进后的单元测试

测试项目:减一四则运算生成程序 项目成员:张金生  张政 工程地址:https://coding.net/u/jx8zjs/p/paperOne/git ssh://[email protected]:jx8zjs/paperOne.git 测试单元概览: 1. Fraction: 分数类,支持分数加减乘除法,约分,取相反数等 2.QuestionGen:题目生成类,支持生成各种难度的题目,和答案. 待测单元: Fraction类: 1 public class Fraction { 2 pub

(第四周)四则运算单元测试

项目成员:黄兴.谢孝淼 程序代码 因为此前的程序只有一个主函数main(),为了做单元测试,把代码进行了一些修改,把源代码分到了几个方法里. 1.生成题目并计算的addQuestion()方法,其中把随机数和随机运算符都设成了固定值,这样是为了更容易的进行单元测试,除了这个方式,还没有想好怎样对随机数的方法进行测试. Scanner sc = new Scanner(System.in); //创建Scanner类的对象 double result=0; int right=0; //统计正确题

【week3】四则运算 单元测试

上一周的四则运算有bug,这次补充正确代码: 1 // 中缀转后缀 2 public String[] SolveOrder(String[] in, HashMap<String, Integer> precedence) { 3 // 符合逆波兰式(后缀)的输出 4 int kk=in.length; 5 String out[] = new String[kk]; 6 int p = 0 ; 7 // 操作符 8 Stack<String> ops = new Stack&l

RIGHT-BICEP单元测试——“二柱子四则运算升级版”

RIGHT-BICEP单元测试 ——“二柱子四则运算升级版” ”单元测试“这对于我们来说是一个全新的专业含义,在上了软件工程这门课,并当堂编写了简单的"求一组数中的最大值"函数的单元测试之后,我们对它有了全新的认识. 单元测试:即为, 老师让我们回去之后将“二柱子四则运算升级版”的程序进行单元测试(二柱子程序的源码我已经上传,这里不再重复,只列举单元测试的部分和分析),如下: PS.这里附上老师上课讲的关于RIGHT-BICEP测试的方法: 6个值得测试的具体部位,他们能够提高我们的测

随机四则运算的单元测试5.1

进行单元测试步骤: 第一步:将所有的运算分类情况封装在Calculator类中: import java.math.BigDecimal; import java.text.DecimalFormat; public class Calculator{ long sum; char a[]={'+','-','×','÷'}; char b[]={'+','-','×','÷'}; public void IntegerandInteger(int b,int c,int d){ if(a[b]