/*************************************************************************
> File Name: UpperLowerDigit.cpp
> Author: wangzhichen > Created Time: 2016-12-05
> Brief: A fast algorithm for character recognition
************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <ctype.h>
#include <iostream>
using namespace std;
#define ISUPPER 1
#define ISLOWER 2
#define ISDIGIT 4
class CharRecognition {
private:
int Array[256];
static CharRecognition object;
private:
void Init() {
int i;
memset(Array, 0, sizeof Array);
for(i = 'A';i <= 'Z';i++) Array[i] = ISUPPER;
for(i = 'a';i <= 'z';i++) Array[i] = ISLOWER;
for(i = '0';i <= '9';i++) Array[i] = ISDIGIT;
}
CharRecognition() {
Init();
}
public:
static CharRecognition &GetInstance() {
return object;
}
inline bool Isupper(char ch) const {
return ISUPPER & Array[ch];
}
inline bool Islower(char ch) const {
return ISLOWER & Array[ch];
}
inline bool Isdigit(char ch) const {
return ISDIGIT & Array[ch];
}
};
CharRecognition CharRecognition::object;
int main(int argc, char **argv) {
char ch = getchar();
getchar();
if(CharRecognition::GetInstance().Isupper(ch)) {
printf("%c is upper...!\n", ch);
}
else
if(CharRecognition::GetInstance().Islower(ch)) {
printf("%c is lower...!\n", ch);
}
else
if(CharRecognition::GetInstance().Isdigit(ch)) {
printf("%c is digit...!\n", ch);
}
return 0;
}

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
SVM算法实现光学字符识别
支持向量机非常适合处理图像数据,它能够学习复杂的图案而不需要对噪声数据过度敏感,能够以较高的准确度识别光学图案。
SVM算法 光学字符识别 Python 机器学习 神经网络 -
easyOCR 字符识别
ocr
计算机视觉 opencv python -
dl相关思路——字符识别
1、机器学习初学者—手把手教你做数字图像识别
.net 图像识别 android 开源框架 机器学习 -
用Transformer实现OCR字符识别!
高能预警,建议收藏。
数据集 数据 映射关系