[宝典]以无符号数作为识别对象,要求能够判断输入的字符串是不是合法的无符号数
#include
using namespace std;
#define M 101 //最多可输入的字符数 #define UNSIGNEDNUMBER 1 //无符号数 #define PLUS 2 //加号
#define SUBTRACT 3 //减号
#define MULTIPLY 4 //乘号
#define DIVIDE 5 //除号
#define LEFTBRACKET 6 //左括号 #define RIGHTBRACKET 7 //右括号 class AccidenceAnalysis //定义词法分析器类 {
private:
char testStr[M],*p; //私有数据
public:
AccidenceAnalysis(); //构造函数,功能一般是对类做初始化
void InputStr(); //输入函数
void Output(int a,char *p1,char *p2); //输出函数
int IsAcceptantCharacter(char *p); //判断输入字符是否属于字符集
int IsOperator(char *p); //判断字符是否是字符集[+,-,*,/,(,)]中的字符
int IsUnsignedNum(char *p); //判断字符是否是0--9的整数
void AbnormityExamine(char a[]); //异常检测函数
void IdentifyOperator(char *p);//识别字符集[+,-,*,/,(,)]中的字符
void AssortIdentify(); //对输入字符分类识别 };
AccidenceAnalysis::AccidenceAnalysis()
{
int i;
for(i=0;i