单元测试
2016-03-30 11:33
183 查看
voidfanxiang() { floatmoney; floatbase; doubletotal=1.0f; intday; intx; intk; charlab; doubletotal1; printf("-------------------------------------------------------------|\n"); printf("请输入你需要得到的金额:\n"); scanf("%f",&money); while(money<=0) { printf("-------------------------------------------------------------|\n"); printf("输入值为负数,请重新输入:\n"); scanf("%f",&money); } printf("-------------------------------------------------------------|\n"); printf("请输入平均年回报率:\n"); scanf("%f",&base); while(base<=0) { printf("-------------------------------------------------------------|\n"); printf("输入值为负数,请重新输入:\n"); scanf("%f",&base); } printf("-------------------------------------------------------------|\n"); printf("请输入存入的年数\n"); scanf("%d",&day); while(day<=0) { printf("-------------------------------------------------------------|\n"); printf("输入值为负数,请重新输入:\n"); scanf("%d",&day); } printf("-------------------------------------------------------------|\n"); lab:printf("若是复利选择1,单利选择2\n"); scanf("%d",&x); printf("-------------------------------------------------------------|\n"); if(x==1) { printf("请输入复利次数:\n"); scanf("%d",&k); while(k<=0) { printf("-------------------------------------------------------------|\n"); printf("输入值为负数,请重新输入:\n"); scanf("%d",&k); } printf("-------------------------------------------------------------|\n"); total=total*pow(1+base/k,k*day); total1=money/total; printf("需要的本金为:%f\n",total1); printf("-------------------------------------------------------------|\n"); } elseif(x==2) { total=base*day; total1=money/(1+total); printf("需要的本金为:%f\n",total1); printf("-------------------------------------------------------------|\n"); } else { printf("请重新输入1或者2\n"); gotolab; } }
目前这是我复利计算中其中一个函数方法,下面将对其进行单元测试
测试模块 | 测试输入 | 预期结果 | 实际结果 | 蟑螂追踪 |
计算本金模块 | 终金,年回报率,存入年数,选择存款方式,(复利情况有次数) | 本金值 | 本金值 | |
测试复利运算结果 | 100000,0.03,5,1,3 | 86134.947769 | 符合 | |
测试终金为负值 | -100000,0.03,5,1,3 | 提示终金重新输入 | 符合 | |
测试年回报率为负值 | -100000,0.03,5,1,3 | 提示年回报率重新输入 | 符合 | |
测试存入年数为负值 | 100000,0.03,-5,1,3 | 提示存入年数重新输入 | 符合 | |
测试存款方式输入除1和2的值 | 100000,0.03,-5,5 | 提示存款方式重新输入 | 符合 | |
测试单利运算结果 | 100000,0.03,5,2 | 86956.521993 | 符合 | |
测试输入字母 | a,0.03,5,2 | 提示输入错误请重新输入数字 | 不符合,其出现无限循环 | |
测试输入为0 | 0,0.03,5,2 | 提示重新输入 | 符合 | |
测试输入数字过大 | 9999999999999,0.03,5,2 | 提示数字过大请重新输入 | 不符合,本金出现8695652049671.691400 | |
测试输入年为小数 | 100000,0.03,1.5,2 | 程序可以继续运行 | 不符合,出现无限循环 | |
测试输入利率为0 | 100000,0,5,2 | 提示请重新输入 | 符合 | |
测试输入复利情况下复利次数为负数 | 100000,0.03,5,1,-3 | 提示重新输入 | 符合 | |
...... | ...... | ...... | ...... |
相关文章推荐
- iOS图片如何按比例显示
- viewpager 左右滑动笔记
- alert 换行
- Maven入门指南⑤:使用Nexus搭建Maven私服
- linux中安装配置nexus以及maven的安装配置
- ArcGIS与R语言的Delaunay 三角网生成法
- Servlet生命周期
- 反射原理及使用
- SVN 集中式版本控制软件
- IOS开发Swift键盘收起,键盘挡住输入模框的处理
- 通过配置文件对“安卓热敏打印的PDA手持终端”的按键分配功能
- iOS沙盒目录解析
- karaf jvm参数配置
- windows常用的命令
- Linux下php安装curl扩展
- jsp页面使用C标签对时间日期进行判断
- socket通信简介
- NSDate 时差8小时解决方法
- SQLite BEGIN TRANSACTION创建提交事务 http://www.uedsc.com/sqlite-begin-transaction.html
- 准备些元件