车牌生成代码车牌后5位生成代码
生活随笔
收集整理的這篇文章主要介紹了
车牌生成代码车牌后5位生成代码
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
車牌后5位序號編碼規(guī)則有三種,分別是:??
1、序號的每一位都使用阿拉伯數(shù)字;??
2、序號的每一位可單獨使用英文字母,26個英文字母中O和I不能使用;??
3、序號中允許出現(xiàn)2位英文字母,26個英文字母中O和I不能使用。
由于本人使用的是QT開發(fā)工具,下面就用QT來寫這個
//字母數(shù)組,不含I O const QStringList PLATE_EN{"A","B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M","N", "P", "Q", "R", "S", "T", "U", "V", "W", "X","Y", "Z"}; //獲取車牌代碼函數(shù) void GenPlate::genCarNumber() {int count=0;//統(tǒng)計個數(shù)變量//存儲Txt文件QFile file("car_num.txt");//只寫模式file.open(QIODevice::WriteOnly);//第一步:寫入00000-99999號碼for(int i=0;i<100000;i++){count++;//格式化數(shù)字為5位數(shù),不足補0QString tmpNum=QString("%1\r\n").arg(i,5,10,QLatin1Char('0'));//寫入文件file.write(tmpNum.toUtf8());}//第二步:獲取含有1位字母的號碼QStringList oneLetterNum=getNumStr(5);for(QString numStr:oneLetterNum){count++;//寫入文件file.write((numStr+"\r\n").toUtf8());}//第三步:獲取含有2位字母的號碼for(int n=1;n<5;n++){//獲取含有1位字母長度為n的號碼QStringList numsList=getNumStr(n);//將獲取含有1位字母長度為n的號碼+每A-Z個字母+后面的數(shù)字for(QString num:numsList){for(QString str:PLATE_EN){QString numStr=num+str;//當前不是第五位,則加后面的數(shù)字if(n<4){for(int j=0;j<qPow(10,4-n);j++){count++;//保留后面有幾位數(shù),不夠補0QString tmpNum=numStr+QString("%1").arg(j,4-n,10,QLatin1Char('0'))+"\r\n";file.write(tmpNum.toUtf8());}}//當前是第五位,后面沒有數(shù)字else{count++;file.write((numStr+"\r\n").toUtf8());}}}}file.flush();file.close();//輸出總數(shù)是多少qDebug()<<count; }//獲取含有1位字母長度為n的號碼 QStringList GenPlate::getNumStr(int m) {QStringList numStrs;for(int n=0;n<m;n++){//循環(huán)前面的數(shù)字位數(shù)qPow(10,n)為10的n次方(例如兩位數(shù)最大為10*10 =100即0-99)for(int k=0;k<qPow(10,n);k++){QString numStr="";for(QString str:PLATE_EN){if(n>0){//前面有數(shù)字,加上numStr=QString("%1").arg(k,n,10,QLatin1Char('0'))+str;}else{ //前面沒有數(shù)字,第一位是字母numStr=str;}//如果不是最后一位,加上所有后面的數(shù)字if(n<m-1){for(int j=0;j<qPow(10,m-n-1);j++){//格式化位數(shù),存數(shù)組QString tmpStr=QString("%1").arg(j,m-n-1,10,QLatin1Char('0'));numStrs<<numStr+tmpStr;}}else{//存數(shù)組numStrs<<numStr;}}}}return numStrs; }執(zhí)行代碼后:
?輸出count為:7060000個從00000-999ZZ
?
?
總結(jié)
以上是生活随笔為你收集整理的车牌生成代码车牌后5位生成代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: echarts绘制各种图表(柱形、折线、
- 下一篇: 林业专业术语