二柱子3单元测试

本次测试分为以下几个阶段:
注释:a[0],a[1],a[2],a[3],a[4],a[5],a[6]分别表示题目数,是否有乘除法。运算数的范围,结果是否有负值,打印的列数,输入每行的间隔数
第一:测试题目是否重复
因为在程序中引用了srand函数,并写了头文件,所以基本不会出错,题目时不会重复的,除非出现那种情况,就是如果随机数的范围和题目的数量不约定俗成的话,就可能出现下列情况,这是函数就不起作用了,发生矛盾。
(图1)
第二:输入的条件不符合要求,本程序出现报错处理
程序中考虑到了用户输入不符合要求,所以需要进行对输入结果的判断,以下是程序运行截图,可以证明程序是可以检验出来的。
(图2)
第三:出题时间问题
当出题数目上万,十万,百万,出题时间很长,影响性能!
(图3)测试数据出题数目为一万,部分截图如下
第四:测试数据
通过测试几组数据,来验证本次程序。
(图4,图5)
图1:a[1]=1;a[2]=20;


图2:


图3:a[0]=10000;


图4:有除法的情况


图5:有余数的情况;图4,5为正常情况


图6:a[6]=7时出现异常,目前没找到解决办法


图7:a[6]=6时情况出现异常,个人认为列数最大为五列,但是程序中没找到限制条件

总结如下:测试单元可以让我们的程序更加完善,发现问题和不足,经过测试,程序现在还存在的问题就是输出列数有问题,这是一个小小的缺陷

在0-5内,可以正常输出列数,但是超出5以后,就不正常了,但还是有规律的,我认为,可能是因为输出面板大小有限,规定每行只能输入多少字符,所以为了使程序更加健壮,所以这是一个小bug,可以加个限制条件,控制在5以内,就解决了。

时间: 2024-12-16 22:52:29

二柱子3单元测试的相关文章

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

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

二柱子四则运算3

二柱子四则运算3 可怜的二柱子……又一次被坑了…… 老师又在上次的“二柱子四则运算2”的基础上增添了要求,如下: 1.学生写的程序必须能判定用户的输入答案是否正确.直到题目结束,告诉用户做对了几道题. 2.程序必须能处理四种运算的混合模式. 注意:连续的减法和除法,应该遵守左结合的规定. 连续除法要打括号,否则会引起歧义. 一.实验思路 二.实验源代码 三.实验总结和反思 最后,附上我和我的小伙伴的工作照……没有正脸.老师们不要介意啦啦啦~~~~ 小伙伴博客内容页:http://www.cnbl

二柱子的难题02

老师又向二柱子提出一些要求,二柱子很崩溃 具体要求如下: 题目避免重复 可定制(数量/打印方式) 可控制参数    1是否有乘除法    2是否有括号    3数值范围    4加减法有无负数    5除法有无余数 可怜的二柱子经过8h的奋战,终于在01版本的基础上改出了满足要求的02版本 1 #include <iostream> 2 #include <iomanip> 3 #include <fstream> 4 #include <ctime> 5

二柱子四则运算定制版+升级版

题目:在上次程序的基础上,实现对连除的判断,并且实现多个数的混合运算,要求可以输入结果,并进行判断. 思路:基于上次程序,首先思考混合运算,这里运用两个数组,分别记录随机产生的运算数和运算符号.然后对连除进行判断,,检查运算符号数组里是否有连续的除号,有的话加上括号,避免歧义.最后对运算结果进行计算,并对用户输入的结果进行比较,给出相应提示,回答,计算方面,要优先对括号,乘除进行运算,然后再进行加减运算,每次运算完后都要记录下运算的结果. 代码: //吕广浩 3/19 #include<iost

二柱子问题扩充:1、题目避免重复; 2、可定制(数量/打印方式); 3、可以控制下列参数: 是否有乘除法、是否有括号、 数值范围、加减有无负数、除法有无余数、否支持分数 (真分数, 假分数, …)、是否支持小数 (精确到多少位)、打印中每行的间隔可调整;

程序设计思想 程序的主要设计思想为用字符串数组保存生成的运算题,将操作数采用单独算法处理,然后进行类型转换和操作符一起存入数组中,鉴于字符串的特性,可以对字符串的长度进行随意添加而不必考虑长度问题,最后进行字符串数组的输出产生客户要求的运算题; 源代码 #include<stdlib.h> #include<conio.h> #include<time.h> #include<iostream> #include<string> #include

150313 那个可怜的二柱子同学

今天的软件工程概论课,老师出了这么个问题: 可怜的二柱子同学,老师又对他的自动出题系统提出了新的要求: 题目避免重复 可定制(数量.打印方式): 可以控制下列参数:是否有乘除法.数值范围.加减有无负数.除法有无余数.是否支持分数(真分数.假分数): 我想了两种解决方法: 一.使用数据库: 避免重复:随机数及符号大量生成录入数据库,生成md5,数据库查询(Select Distinct MD5,第一整数,符号,第二整数 from 题目表). 定制:输入框,输入题目数量.打印方式可以用[x++ if

二柱子的出题软件

二柱子的软件 支持真分数的四则运算 可定义出题数量 #define _CRT_SECURE_NO_DEPRECATE#include<stdio.h>#include<Windows.h>#include<time.h>int main(){ int a, b, c, d, e, f, g, k; float p, q; printf("请输入想要の数量"); scanf("%d",&k); srand(unsigned(

二柱子2.0编程总结

                                                                                时间记录表: 学生         王美仪                单位(分钟)         日期        2018.10.8             教师         王建民 日期 开始时间 结束时间 中断时间 净时间 活动 备注 2018.10.8 18:30 19:52 0 82 编程 基本完成 2018310.

二柱子升级版

一.实验思路二柱子的老师又提出了新的要求,要求能在线答题,保存错题.为了避免主函数代码过于重复,将"生成某一个范围内的随机数"."生成随机的分数"."生成一个运算符"."判断整数的正负并取相反数"."把int类型装换为string类型".以及"含有括号的运算"."含有真分数的运算"和"不含真分数的运算"等封装成函数.为了避免定义整型变量,计算时强制