四.数据检验器
uoj的数据检验器(val.cpp)使用testlib。
下面是A+B Problem的检验器:
#include "testlib.h"
using namespace std;
int main(void)
{
registerValidation();
inf.readInt(0,1000000000,"A");
inf.readSpace();
inf.readInt(0,1000000000,"B");
inf.readEoln();
inf.readEof();
return 0;
}
上面的代码是这样工作的:
registerValidation():初始化。
inf.readInt(0,1000000000,"A"):读入叫做“A”的整形变量,范围必须在[0,1000000000]以内。如果不满足要求,则判定数据无效。
inf.readSpace():读取一个空格。
inf.readEoln():读取一个换行符。
inf.readEof():读取文件结束符。
上面的读取中,只要有任意一个出现了偏差,则判定数据无效。
如果数据需要保证某个要求,可以使用ensuref():
ensuref(cmd=='Q' || cmd=='A' || cmd=='C' , "您输入的操作不合法");
在上面的代码中,如果cmd既不是'Q',也不是'A'或'C',则判定数据无效,并提示您输入的操作不合法。
标签:读取,readInt,1000000000,cmd,检验,inf,数据 From: https://www.cnblogs.com/zhangyuhao111/p/18223095