一、代码规范重写30道四则运算

/**
作者:程鹏远
题目:30道2年纪四则运算题目
*/
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
int main()
{//初始化int a,b,c;    int num1,num2;int num;int chufa;int k,jiange;int zhengchu;int j=0;int chengfa;int con;//请输入数的范围,中间用空格隔开:cout<<"请输入数的范围,中间用空格隔开:";cin>>num1>>num2;if(num1>num2){cout<<"第一个数应该小于第二个数,请重输:";cin>>num1>>num2;}//控制题目的个数,numcout<<"其输入要出多少道题目:";cin>>num;if(num>(4*(num2-num1)^2)){cout<<"您输入的题目数量太多,会造成重复,请重新输入数目:";cin>>num;}//打印格式cout<<"一行几道题,行间距是几,中间空格:";cin>>k>>jiange;if(jiange>=5||jiange<0){cout<<"您输入的间距太大或为负数,请重输:";cin>>jiange;}//是否要除法cout<<"是否要除法?是输入1,否输入0:";cin>>chufa;if(chufa==1){cout<<"是否要有余数,是输入1,否输0:";cin>>zhengchu;}//是否要乘法cout<<"是否要乘法,是输入1,否输入0:";cin>>chengfa;cout<<endl;for(int i=0;i<num;i++){    cout<<i+1<<"、";        a=(rand()%(num2-num1+1))+num1;b=(rand()%(num2-num1+1))+num1;if(chufa==1){if(chengfa==1){c=rand()%4;//0-3
            }else{c=rand()%3;//0-2
            }}else{if(chengfa==1){c=rand()%3+1;//1-3
            }else{c=rand()%2+1;//1-2
            }}switch (c){case 1:cout<<a<<"+"<<b<<"="<<"\t";break;case 2:if(a>b){cout<<a<<"-"<<b<<"="<<"\t";}else{cout<<b<<"-"<<a<<"="<<"\t";}break;case 3:            cout<<a<<"*"<<b<<"="<<"\t";break;case 0://除法if(zhengchu==1)//有余数
                {if(b==0){cout<<b<<"/"<<a<<"="<<"\t";}else{cout<<a<<"/"<<b<<"="<<"\t";    }}else{while((j<100000)&&(a!=0)&&(b!=0)&&(a%b==0)){cout<<a<<"/"<<b<<"="<<"\t";j++;}if((a!=0)&&(b!=0)&&(a%b==0)){cout<<a<<"/"<<b<<"="<<"\t";//i++;
                    }else{int j=0;while(j<100000){a=(rand()%(num2-num1+1))+num1;b=(rand()%(num2-num1+1))+num1;if((a!=0)&&(b!=0)&&(a%b==0)){cout<<a<<"/"<<b<<"="<<"\t";//i++;j=100000;j++;}else{j++;}}}                                }break;    } if((i+1)%k==0){cout<<endl;for(int m=0;m<jiange;m++){cout<<endl;}}}//继续吗?cout<<"继续吗?是输入1,否输入0:"<<endl;cin>>con;if(con==1){cout<<endl;main();}else{return 0;}getch();return 0;
}

二、单元测试项目

编写相关测试程序:源代码如下:

 
/**
作者:程鹏远
题目:30道2年纪四则运算题目
*/
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
int main()
{cout<<"请输入8个数据,分别表示num1,num2,num,k(一行几个),jiange,chufa,yushu,chengfa"<<endl;//测试模块int a[8];for(int n=0;n<8;n++){cin>>a[n];}//初始化int s,b,c;    //int a[0],a[1];//int a[2];//int a[5];//int a[3],a[4];//int a[6];int j=0;//int a[7];int con;//请输入数的范围,中间用空格隔开://cout<<"请输入数的范围,中间用空格隔开:";//cin>>a[0]>>a[1];if(a[0]>a[1]){cout<<"第一个数应该小于第二个数,请重输:";cin>>a[0]>>a[1];}//控制题目的个数,a[2]//cout<<"其输入要出多少道题目:";//cin>>a[2];if(a[2]>(4*(a[1]-a[0])^2)){cout<<"您输入的题目数量太多,会造成重复,请重新输入数目:";cin>>a[2];}else if(a[2]<=0){cout<<"请输入大于0的题目数:";cin>>a[2];}//打印格式//cout<<"一行几道题,行间距是几,中间空格:";//cin>>a[3]>>a[4];if(a[4]>=5){cout<<"您输入的间距太大,请重输:";cin>>a[4];}if(a[4]<0){cout<<"您输入的间距为负数,请重输:";cin>>a[4];}//是否要除法//cout<<"是否要除法?是输入1,否输入0:";//cin>>a[5];//cout<<"是否要有余数,是输入1,否输0:";//cin>>a[6];//是否要乘法//cout<<"是否要乘法,是输入1,否输入0:";//cin>>a[7];
cout<<endl;for(int i=0;i<a[2];i++){    cout<<i+1<<"、";        s=(rand()%(a[1]-a[0]+1))+a[0];b=(rand()%(a[1]-a[0]+1))+a[0];if(a[5]==1){if(a[7]==1){c=rand()%4;//0-3
            }else{c=rand()%3;//0-2
            }}else{if(a[7]==1){c=rand()%3+1;//1-3
            }else{c=rand()%2+1;//1-2
            }}switch (c){case 1:cout<<s<<"+"<<b<<"="<<"\t";break;case 2:if(s>b){cout<<s<<"-"<<b<<"="<<"\t";}else{cout<<b<<"-"<<s<<"="<<"\t";}break;case 3:            cout<<s<<"*"<<b<<"="<<"\t";break;case 0://除法if(a[6]==1)//有余数
                {if(b==0){cout<<b<<"/"<<s<<"="<<"\t";}else{cout<<s<<"/"<<b<<"="<<"\t";    }}else{while((j<100000)&&(s!=0)&&(b!=0)&&(s%b==0)){cout<<s<<"/"<<b<<"="<<"\t";j++;}if((s!=0)&&(b!=0)&&(s%b==0)){cout<<s<<"/"<<b<<"="<<"\t";//i++;
                    }else{int j=0;while(j<100000){s=(rand()%(a[1]-a[0]+1))+a[0];s=(rand()%(a[1]-a[0]+1))+a[0];if((s!=0)&&(b!=0)&&(s%b==0)){cout<<s<<"/"<<b<<"="<<"\t";//i++;j=100000;j++;}else{j++;}}}                                }break;    } if((i+1)%a[3]==0){cout<<endl;for(int m=0;m<a[4];m++){cout<<endl;}}}//继续吗?cout<<"继续吗?是输入1,否输入0:"<<endl;cin>>con;if(con==1){cout<<endl;main();}else{return 0;}getch();return 0;
}

1.测试结果是否正确:

有三种情况:(1)数据是:0 900 90 4 0 1 1 1;其意义是显示0-900之间不重复的每行4个间距为0的90道有加减乘除(除法有余数)的四则运算题,结果正确 如截图

(2)数据是:0 900 80 5 1 1 0 1;其意义是显示0-900之间不重复的每行5个间距为1的80道有加减乘除(除法无余数)的四则运算题,结果正确 如截图

(3)数据是:0 900 80 4 0 0 0 0;其意义是显示0-900之间不重复的每行4个间距为0的80道有加减无乘除的四则运算题,结果正确 如截图

2.边界值测试:

(1)数据范围如果前边的数大于后边的数:结果是要求用户充新输入,并提示第一个数应该小于第二个数。如果用户重新输入正确的数,会得到正确的结果;

  题目数量不能超过数据范围,超过会重复;结果要求用户重新输入,并提示应输入一个小点的书。如果用户重新输入正确的数,会得到正确的结果;

  间距不能太大,否则影响做题,不能为负数;结果要求用户重新输入,并提示相关信息。如果用户重新输入正确的输,会得到正确的结果;

  测试结果正确,如下截图:

经以上结果可以看出,基本满足用户的功能要求。

转载于:https://www.cnblogs.com/zhaixing/p/4340147.html

代码规范以及单元测试项目相关推荐

  1. python代码规范工具_如何检查python3中的代码规范

    如何检查python3中的代码规范 发布时间:2020-11-16 09:40:48 来源:亿速云 阅读:77 作者:小新 这篇文章给大家分享的是有关如何检查python3中的代码规范的内容.小编觉得 ...

  2. 射手科技公开课第一辑 『项目管理和代码规范』

    射手玩的东西越来越全面了,从当年的字幕下载站,到播放器,到射手科技,发展的思路值得借鉴和思考. 射手科技成立3个月以来,我们内部已经组织了不少培训.每次内部培训我们都留有录像和录音,以便后续参与项目的 ...

  3. 付宇泽20190919-5 代码规范,结对要求

    此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/7630 结对要求,适用于本周所有标注"结对"的作业: 每 ...

  4. 记录前端常用代码规范

    代码规范的目的是为了编写出高质量的代码.让团队人员每天都是愉悦的,大家在一起每天都是快乐的 ![](,一下就来列举一些常用的代码规范条约,在后面的开发中大家也可以一同来完善我们的代码规范条例: 让我们 ...

  5. 【代码规范】google开源c\c++项目代码规范

    版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载;https://blog.csdn.net/csdn_baotai https://blog.csdn.net/csdn_baotai/a ...

  6. 【开发规范】go项目开发中的[流程,git,代码,目录,微服务仓库管理,静态检查]

    文章目录 前言 一.有哪些规范我们应该遵循 二.项目开发流程 三.git的代码分支管理 1. 分支管理 2. commit规范 三.go的代码规范 四.go项目目录规范 五.微服务该采用multi-r ...

  7. 项目质量监测(一)——代码质量检查-书写风格、代码规范、高度耦合 代码质量监测之Js检验工具-JSLint、JSHint、ESLint

    项目质量监测(一)--代码质量检查-书写风格.代码规范.高度耦合 & 代码质量监测之Js检验工具-JSLint.JSHint.ESLint 5-2 项目质量监测 课程介绍 没有规矩不成方圆,所 ...

  8. 【C 语言】C 项目开发代码规范 ( 形参合法性判断 | 函数返回值局部变量 | 函数中不用全局变量 | 函数中使用局部变量接收形参 | 函数返回值 | 形参作返回值 | 形参返回值处理 )

    文章目录 一.C 项目开发代码规范 一.C 项目开发代码规范 上一篇博客 [C 语言]字符串模型 ( 键值对模型 ) 中 , 完成了字符串的 键值对 查找功能 , 代码不太规范 ; C 项目开发代码规 ...

  9. 项目Alpha冲刺——代码规范、本次冲刺任务与计划

    作业格式 课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(团队) 团队名称: 那周余嘉熊掌将得队 作业目标:代码规范.本次冲刺任务与计划 团队信息: 队员学号 队员姓名 博客 ...

最新文章

  1. java list 截取部分数据_Java List.subList()方法:获取列表中指定范围的子列表
  2. delphi dbgrid 焦点 行号_火箭VS爵士领衔,多场焦点对决!今日NBA全部比赛视频直播预告...
  3. 苹果是c语言安卓是什么语言,主流app是用什么语言开发的苹果和安卓的主流开...
  4. Spring 3.2矩阵变量是什么? - 第1部分
  5. el table 固定表头和首行_vue表格实现固定表头首列
  6. python中is、id、==与浅拷贝和深拷贝
  7. django 获取 axios get 过来的数据_一起DevOps系列12django数据库创建与使用
  8. JavaSE----异常处理
  9. android感应不了夜神模拟器,夜神模拟器使用(检测不到)
  10. cmdline-tools component is missing
  11. 分数计算器java报告_20182307 2019-2020-1 《数据结构与面向对象程序设计》实验四报告...
  12. java文件读写之Channel策略
  13. netcat 下载地址
  14. 中国科大的毕业生去向
  15. 阿拉伯数字转换为中文大写数字
  16. IAR下连仿真器可以正常运行,程序下载到flash部分功能异常
  17. Sublime Text3(mac版)上好用的插件
  18. Spring Boot 整合 RabbitMQ 实现
  19. js 在js字符串中添加空格
  20. C语言———字符与字符串

热门文章

  1. javascript GlobalEventHandlers
  2. docker 容器命令
  3. D3 插入删除元素元素
  4. java yyyy-mm-dd 日期格式_Java中的日历日期为yyyy-MM-dd格式
  5. 路西法第一季为什么会被打伤_《数码宝贝》第一季,为何只有亚古兽与加布兽会究极进化?...
  6. python中urllib.parse啥意思_python-urllib.parse模块简述
  7. 一步步实现SDDC-Edge与动态路由实现
  8. Linux学习总结(11)——Linux文件查找
  9. spark 存入hbase_Spark DataFrame写入HBase的常用方式
  10. 100ml干胶能带上地铁吗_雪板能带上飞机高铁吗?该怎么带滑雪装备前往雪场?...